gpt4 book ai didi

java - 保护不受信任的 Java 代码

转载 作者:搜寻专家 更新时间:2023-11-01 03:52:21 25 4
gpt4 key购买 nike

我有一个服务器应用程序,它接收从其客户端上传的java代码,然后需要根据其中的方法调用进行处理。

我的第一个想法是编译它 - 运行它,但是当我仔细考虑它时...... 叮叮安全。我如何限制特定代码执行运行的调用,例如:它可以执行基本的 java jazz(for 循环等)访问重要的类,如 Math 并从我的服务器访问一些方法,但它不会造成伤害或做任何坏事到服务器。

最佳答案

在运行上传的代码时,您需要在运行时定义一个策略。来自 Oracle 关于 Default Policy Implementation and Policy File Syntax 的文档:

Specifying an Additional Policy File at Runtime

It is also possible to specify an additional or a different policy file when invoking execution of an application. This can be done via the "-Djava.security.policy" command line argument, which sets the value of the java.security.policy property. For example, if you use

java -Djava.security.manager -Djava.security.policy=someURL SomeApp

where someURL is a URL specifying the location of a policy file, then the specified policy file will be loaded in addition to all the policy files that are specified in the security properties file.

您可以在该策略中使用权限来限制代码可以执行的操作,例如:

permission java.io.FilePermission "/home/user/*", "read";

希望对您有所帮助!

关于java - 保护不受信任的 Java 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22330707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com