security - 如何禁止用户在 Groovy 脚本中做坏事?

标签 security groovy

我计划将 Groovy 脚本引擎集成到我的游戏中,这样它将为游戏提供良好的可修改性,但是如何防止玩家编写邪恶的脚本,例如删除 C: 驱动器上的所有文件?

Groovy 默认包含像 java.io.File 这样的库,因此一旦他们决定编写此类脚本,这将非常容易。

我想我无法阻止用户编写类似 while(1==1){} 的内容,但无论如何至少不允许他们允许删除/修改文件或危险的东西对于个人电脑?

最佳答案

有一个blog post by Cedric Champeau关于自定义 Groovy 编译过程,它的第二部分展示了如何使用 SecureASTCustomizerCompilerConfiguration 来限制脚本可以执行的操作(然后有定义您自己的 AST 检查的示例)对于System.exit等...

关于security - 如何禁止用户在 Groovy 脚本中做坏事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9681413/

相关文章:

grails - 基本确认时的rabbitMQ AlreadyClosedException(知识)

security - 防止对 Web 应用程序的字典攻击

php - 在盲代码中使用 mysql_real_escape_string

c++ - 此 strncpy 存在哪些安全问题?

security - SSL 错误 : unable to get local issuer certificate

generics - <T extends SuperClass> 的 Groovy 泛型问题

groovy - 向 map 中的列表添加元素的Groovy方法?

spring-boot - thymeleaf-spring4:jar无法找到工件-Gradle Intellij

security - 类加载器拒绝访问 AudioPlayer

java - Gradle中的发布jar