2024-04-25 21:53:16 发布
网友
我最近遇到了Python pickle和cPickle模块的安全问题。 显然,pickle中没有实现真正的安全措施,除非重写 find_类方法作为一个基本的修改,以获得更多的安全性。但我经常 听说JSON更安全。在
有人能详细说明一下吗?`为什么JSON比pickle更安全?在
非常感谢! 马克
json更安全,因为它从根本上说是有限的。json文档可以编码的python类型只有unicode、int、float、NoneType、bool、list和{}。它们以一种基本上不易受到代码注入攻击的简单方式进行封送/解组。在
unicode
int
float
NoneType
bool
list
Pickle的问题是它可以调用任意Python代码。有关详细信息,请参见http://nadiana.com/python-pickle-insecure。JSON解析器只需要创建字符串、数字、列表、dict等等。它从不创建用户定义的类,因此不需要执行任意Python。在
json更安全,因为它从根本上说是有限的。json文档可以编码的python类型只有}。它们以一种基本上不易受到代码注入攻击的简单方式进行封送/解组。在
unicode
、int
、float
、NoneType
、bool
、list
和{Pickle的问题是它可以调用任意Python代码。有关详细信息,请参见http://nadiana.com/python-pickle-insecure。JSON解析器只需要创建字符串、数字、列表、dict等等。它从不创建用户定义的类,因此不需要执行任意Python。在
相关问题 更多 >
编程相关推荐