如何安全地评估简单的Python表达式,例如来自HTTP GET参数?

时间:2015-10-22 09:08:30

标签: python django python-3.x

是否有一种本机方式可以安全地评估简单的Python表达式,如:

a = ['None', 'False', '0', '0.0', '"s"', '(0,)', '[0,]']

这些可以例如由HTTP GET提供,如:

http://...?alfa=1&bravo=True&delta=1.0&charlie="s"&echo=None

评估结果应该是Python类型,如Noneboolintfloatstr等。

使用Python eval进行评估是明显的起点,但由于eval不安全,因此不能直接用于评估来自HTTP GET的参数。

对简单的Python表达式进行安全评估的好方法是什么?

0 个答案:

没有答案