В зависимости от контекста вы полагаетесь на менеджера безопасности и связанную с ним политику безопасности, чтобы делать правильные действия. Как правило, если вы не делаете свою собственную мануатуру загрузчика классов, вам не нужно делать ничего особенного. Если вы контролируете политику безопасности (например, в приложении java, а не в апплете), вы можете предоставить разрешения для вызова своих банок только для определенного другого кода. Если вы полагаетесь на код, чтобы отличить код, лучший URL-адрес https. Также не вредно ограничивать доступ к банкам на веб-сервере, если вы знаете, где/кто должен получать доступ, но, вероятно, больше проблем, чем того стоит.
Однако вы всегда должны помнить, что вызывающий API не может быть вашим кодом и может быть вредоносным. Поэтому в вашем моделировании угроз вам следует подумать о том, что может сделать злоумышленник, если у них каким-то образом был доступ к функциональности, предоставляемой API, который предоставляет ваш код. Менеджер безопасности должен проверить стек вызовов, чтобы предотвратить подобное. Но если, например, у вашей подписанной банки есть метод LaunchMissiles() ... вы можете спросить у пользователя, уверены ли они в любом случае. И вы можете также аутентифицировать пользователя.
Вы также не должны полагаться на пользователя, чтобы щелкнуть правую кнопку при любом предупреждении о безопасности, особенно если оно относится к сертификатам и URL-адресам и т. Д. - большинство пользователей попадают в одну из двух категорий: те, кто нажимает ОК на любое предупреждение, потому что они не понимаю, и тех, кто нажимает «Отмена» на любое предупреждение, потому что они этого не понимают.
вам нужно уточнить, как вы используете размещенные банки - это для апплетов или что-то еще? – frankodwyer 2008-12-15 15:05:14