直接使用eval函数很危险
Published on 2018 - 01 - 23
eval简介:
eval可以将括号内的内容直接当作python命令来执行,例如:
"""
下列代码 我们只要输入 1+1 就可以看到返回了2
由此判断 eval将用户的输入执行了python语句
"""
print(eval(input("请输入密码")))
为什么使用eval很危险
在开发时千万不要使用
eval
直接转换input
的结果
上面的示例代码提示用户输入时,我们输入:
__import__('os').system('ls')
等价代码
import os
os.system("终端命令")
可以看到返回了python所在目录下的所有内容,os模块的对系统的操作功能很强大,直接使用eval转换input的结果是很危险的。