如果服务器上的 Java 评估 Javascript,则会出现安全问题

发布于 2024-11-08 18:53:29 字数 267 浏览 2 评论 0原文

如果我在服务器(使用Rhino Javascript Engine的Java webapp)上评估从浏览器提交的Javascript代码,是否会带来安全风险?

Javascript 的评估只是为了知道它是否是有效的 Javascript。

我不希望评估能给我带来任何回报。我不希望它存储任何东西,或接触任何东西。它应该做的就是告诉我用户提交了有效的 javascript。

如果它会带来安全问题,我可以采取一些措施来确保 JavaScript 不会对系统造成任何损害吗?

If I evaluate a Javascript code submitted from the browser, on the server (Java webapp using Rhino Javascript Engine), does it pose security risk?

The Evaulation of the Javascript is being done only to know if its a valid Javascript.

I don't expect the evaluation to return me anything. I don't expect it store anything, or touch anything. All it should do is tell me is the user submitted valid javascript.

If it is something that poses security issues, can I take some steps to make sure that the JavaScript will not cause any harm to the system?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

叶落知秋 2024-11-15 18:53:29

是的,它会带来安全风险,因为从 Rhino 内部的 JavaScript 可以访问 Java 运行时中的任何内容,包括(例如)所有 java.io 类。

您可以确保对 Rhino 的所有调用都在 SecurityManager 的管辖下进行,该 SecurityManager 基本上限制了所有内容。对于 JDK 的 ScriptEngine 代码,没有内置方法可以做到这一点;我不知道 Rhino 可以使用哪些工具与 Mozilla hooks 一起使用。

Yes, it poses a security risk, because from JavaScript inside Rhino it's possible to access anything in the Java runtime, including (for example) all the java.io classes.

You can make sure that all your calls to Rhino operate under the jurisdiction of a SecurityManager that restricts basically everything. With the JDK's ScriptEngine code there's no built-in way to do that; I don't know about what tools are available for Rhino as used with the Mozilla hooks.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文