JSON与Pickle安全

2024-04-25 21:53:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近遇到了Python pickle和cPickle模块的安全问题。 显然,pickle中没有实现真正的安全措施,除非重写 find_类方法作为一个基本的修改,以获得更多的安全性。但我经常 听说JSON更安全。在

有人能详细说明一下吗?`为什么JSON比pickle更安全?在

非常感谢! 马克


Tags: 模块方法jsonfindpicklecpickle
2条回答

json更安全,因为它从根本上说是有限的。json文档可以编码的python类型只有unicodeintfloatNoneTypeboollist和{}。它们以一种基本上不易受到代码注入攻击的简单方式进行封送/解组。在

Pickle的问题是它可以调用任意Python代码。有关详细信息,请参见http://nadiana.com/python-pickle-insecure。JSON解析器只需要创建字符串、数字、列表、dict等等。它从不创建用户定义的类,因此不需要执行任意Python。在

相关问题 更多 >