Проблема безопасности, если Javascript оценивается Java на сервере - PullRequest
0 голосов
/ 19 мая 2011

Если я оцениваю код Javascript, отправленный из браузера, на сервере (веб-приложение Java, использующее Rhino Javascript Engine), представляет ли он угрозу безопасности?

Эваляция Javascript выполняется только для того, чтобы узнать, является ли это действительным Javascript.

Я не ожидаю, что оценка мне что-нибудь даст. Я не ожидаю, что это хранит что-либо или касается чего-либо Все, что он должен сделать, это сказать мне, что пользователь предоставил действительный javascript.

Если это что-то, что создает проблемы безопасности, могу ли я предпринять некоторые шаги, чтобы убедиться, что JavaScript не нанесет никакого вреда системе?

1 Ответ

1 голос
/ 19 мая 2011

Да, это создает угрозу безопасности, поскольку из JavaScript внутри Rhino можно получить доступ ко всему во время выполнения Java, включая (например) все классы java.io.

Вы можете убедиться, что все ваши звонки в Rhino выполняются под юрисдикцией SecurityManager, который ограничивает практически все. В коде JDK ScriptEngine нет встроенного способа сделать это; Я не знаю, какие инструменты доступны для Rhino при использовании крючков Mozilla.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...