擅长:python、mysql、java
<p>这确实很危险,最安全的替代方法是<code>ast.literal_eval</code>(请参阅标准库中的<a href="http://docs.python.org/library/ast.html#module-ast" rel="noreferrer">ast</a>模块)。当然,您可以构建和修改<code>ast</code>,以便在计算结果AST之前提供变量的求值等(当它是文本时)。在</p>
<p>对<code>eval</code>的可能攻击从它能得到它的任何对象开始(这里说<code>True</code>),然后经过.uu类到它的类型对象,等等,直到<code>object</code>,然后得到它的子类。。。基本上,它可以达到任何对象类型和破坏浩劫。我可以说得更具体一些,但我不想在公共论坛上这样做(这个漏洞是众所周知的,但是考虑到有多少人仍然忽视它,把它透露给想要脚本的孩子可能会让事情变得更糟。。。只需避免<code>eval</code>未经确认的用户输入,从此过上幸福的生活!-). 在</p>