函数f()
将eval()
我创建并存储在local_file
运行程序的计算机上的数据使用(或存在危险):
import local_file
def f(str_to_eval):
# code....
# ....
eval(str_to_eval)
# ....
# ....
return None
a = f(local_file.some_str)
f()
安全运行,因为我提供的字符串是我自己的。
但是,如果我决定将其用于不安全的事物(例如用户输入),则可能会发生严重错误。另外,如果local_file
停止在本地,则将创建漏洞,因为我需要信任也提供该文件的计算机。
如何确保我永远不会“忘记”该功能使用不安全(除非满足特定条件)?
注意:eval()
很危险,通常可以用安全的东西代替。