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

标签 java javascript security rhino

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

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

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

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

最佳答案

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

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

关于java - 如果服务器上的 Java 评估 Javascript,则会出现安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6051329/

相关文章:

javascript - 如何在 dash.js 中生成具有特定比特率的视频

wcf - WCF 传输安全 SSL 问题

forms - 在 Symfony2 中实现更改密码

mysql - 从私有(private)子网访问 AWS RDS

java - 为 JavaFX Scenic View 设置的元素

java - BouncycaSTLe的CMac使用方法

java - 尝试获取 JSON 对象时,jsp 中的参数为 null

java - 自定义 Java 序列化

java - 如何使SpringJdbc中的BeanPropertyRowMapper线程安全?

javascript - 如何在 Javascript/HTML5 中将 Uint16Array 中的数据显示为图像?