eval() 函数用来执行一个字符串表达式,并返回表达式的值。
语法:
eval(expression[, globals[, locals]])
expression – 表达式。
globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals – 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
漏洞
由于eval将执行传递给它的任何东西,攻击者可以很容易地调用危险的函数和获取敏感数据
解决方法:通过globals 或 locals 显式传递eval可以访问的函数或变量列表。参数需要以字典的形式传递。
如上所述,由于安全原因,Eval()并不常用。
https://www.geeksforgeeks.org/eval-in-python/