可能重复:
Python, safe, sandbox
我正在用Python构建一个企业Web系统,它允许上传脚本并在服务器端运行。鉴于我已经开发了Python及其如此简单的语言,它似乎是编写脚本的好语言。但是,存在安全隐患,我想阻止除有限子集之外的所有函数调用。有没有一种机制可以用来做这个或其他技术?我还需要使用别的东西吗?我正在开发Pyramid / Pylons。
答案 0 :(得分:0)
这是一个可怕的想法,但只是让你知道这个选项:
你可以清理一个包含Python代码的字符串(并且通过清理我的意思是你需要像几百个恶意单元测试那样做并严重测试卫生是否足够),使用RegEx来匹配你想要的函数调用然后在字符串上调用eval()
。