假设我有一个使用JRuby的Java程序,允许用户使用Ruby脚本来控制窗口中某些有趣角色的行为。
用户可以与社区分享他们的Ruby代码,因此其他人可以在他们自己的程序副本上执行代码片段并看到有趣的角色做的事情。
我对此有安全担忧,因为用户可能会向社区提供恶意Ruby代码。
显而易见的预防措施是用户不应该运行不受信任的用户的代码段。但是,由于社区的性质,点 是 来检查陌生人的创作。
所以,我想到也许我可以限制JRuby的功能。
可能还有其他一些事情,但我的一些限制是:
是否有合理的方法来限制JRuby功能?
我想过,或许会重新定义这种操作所需的几个常量。例如,
File = nil
但我不确定哪些常数完全无效,以及这是否有效。
答案 0 :(得分:0)
由于您的要求是具体的,您可能需要自己实施这些限制......一些指示:
load/require
是一个不错的选择system
相同,以及创建新流程的类似调用File = nil
您最终可能需要逐个审核文件/ IO方法Java
常量和java
方法以禁止使用Java API进行智能作弊