我正在开发一个在线编译器,用户可以在其中运行 python 代码。我的要求是在服务器端使用 exec 运行该 python 代码。因此,我研究了如何完全消除一些运行恶意 python 代码的用户,并且大多数网站都建议这样做-
- 内置禁用
- Ptrace 和 chroot 监狱
- 沙盒/虚拟机
但是,如果我存储一个列入黑名单的命令列表,例如 - ["exec","os","subprocess"] 并检查字符串代码是否存在任何列入黑名单的命令并将其丢弃在客户端和服务器端,那么就不会它解决了问题?
我正在开发一个在线编译器,用户可以在其中运行 python 代码。我的要求是在服务器端使用 exec 运行该 python 代码。因此,我研究了如何完全消除一些运行恶意 python 代码的用户,并且大多数网站都建议这样做-
但是,如果我存储一个列入黑名单的命令列表,例如 - ["exec","os","subprocess"] 并检查字符串代码是否存在任何列入黑名单的命令并将其丢弃在客户端和服务器端,那么就不会它解决了问题?