Я должен использовать Менеджера безопасности в веб-приложениях Java?

Если Вы дадите каждому имя, то нажатый будет отправлен до как любой другой вход.

<input type="submit" name="button_1" value="Click me">
7
задан Jonik 25 August 2009 в 11:01
поделиться

3 ответа

Хотя я ненавижу когда-либо рекомендовать , а не использовать функцию безопасности, я считаю, что SecurityManager больше предназначен для управления ситуациями, когда ненадежный или сторонний код выполняется в JVM. Подумайте об апплетах или сценарии размещенного общего сервера приложений. Если у вас есть полный контроль над сервером приложений и вы не используете чужой код, я думаю, что это излишне. По моему опыту, включение SecurityManager существенно влияет на производительность.

9
ответ дан 6 December 2019 в 23:11
поделиться

На ваш вопрос нет простого ответа да / нет, потому что это действительно зависит: что вы хотите защитить и от чего вы хотите защитить это?

Например, Я использовал SecurityManager для реализации IP-фильтрации и разрешил подключаться к моему приложению только IP-адресам из белого списка. Если вы просто хотите запретить доступ к файлам на диске, возможно, запуск приложения от имени пользователя с меньшими привилегиями - лучшее решение.

Если вы вообще не доверяете сторонним плагинам, помните, что как только вы разрешите выполнение кода плагина, этот плагин может привести к сбою вашего приложения, даже если вы используете SecurityManager. Если ваше приложение загружает плагины, возможно, добавление плагина в белый список и проверка списка перед загрузкой плагина - лучшее решение.

Если вы решите его использовать, вы получите снижение производительности (поскольку JVM будет выполнять больше проверок), но насколько быстро он будет работать, действительно зависит от вашего кода / конфигурации, которые будут выполнять проверки. Мой белый список IP был довольно быстрым, так как он включал только поиск по одному списку; если ваши проверки включают вызов удаленной веб-службы и доступ к базе данных, вы можете сильно замедлить работу, но, с другой стороны, даже это не имеет значения, если у вас достаточно оборудования и несколько одновременных пользователей (другими словами, если вы можете себе это позволить) .

1
ответ дан 6 December 2019 в 23:11
поделиться

Правильная настройка Security Manager в java может быть сложной задачей. Например, если вы не ограничиваете сам диспетчер безопасности, можно обойти всю безопасность, просто установив для диспетчера безопасности значение null.

Использование диспетчера безопасности имеет смысл только в том случае, если ваша JVM будет запускать ненадежный код , иначе настройку будет затруднительно, потому что вам нужно будет заранее знать, какие разрешения вы должны установить для каждой функции (например, RMI, сокетов, ввода-вывода) и для каждого клиента.

1
ответ дан 6 December 2019 в 23:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: