我注意到,我的一个客户端试图通过使用Runtime.exec()访问我的一个主要服务器。有什么方法可以阻止我使用吗?
发布于 2015-04-05 14:10:58
是的有。Process.start()使用SecurityManager.checkExec(cmd)检查该操作是否被允许。该方法的javadoc说:
“如果
checkPermission是绝对路径,则该方法使用FilePermission(cmd, "execute")权限调用cmd,否则它使用FilePermission("<<ALL FILES>>", "execute")__调用checkPermission。”
因此,您需要配置您的安全沙箱来阻止这些权限。您可能还需要阻止许多其他的事情。
这个问答是如何设置沙箱的一个很好的起点:
它包括到Oracle文档的链接..。重要的是你要读懂这一点。
在您的服务器上运行其他人的代码是潜在的危险,您需要了解他们如何“伤害”您,然后才能对其进行保护。记住,你可能会和非常聪明的人打交道.不只是“脚本孩子”探测已知的漏洞。
https://stackoverflow.com/questions/29457939
复制相似问题