python - Django JSON反序列化安全

标签 python django json security

Django 的 JSON 反序列化器是否存在任何已知的安全漏洞?关于 Python 反序列化协议(protocol),普遍的共识似乎是它们完全不安全,因此请避免解析不受信任的数据。

但是,我正在考虑分布式 Web 应用程序,其中不同的服务器交换模型记录,格式为 JSON。记录本身不包含敏感数据,但我担心被黑客攻击的服务器通过发送恶意格式的 JSON 破坏另一台服务器的能力。这可能吗?

我经常在面向公众的环境中看到 Django 的 JSON 序列化器,所以我希望它能针对这种事情进行强化,但我还没有找到任何解决任何安全问题的文档。

最佳答案

默认情况下使用 simplejson ,这是 Django 使用的默认反序列化器,可以从 JSON 转换为 Python 对象的对象类型是有限的。唯一不是这种情况的方法是,如果您正在使用 loads() 的可选参数进行某种专门的解码。或 load()方法或您自己的 JSONDecoder对象。

因此,只要您使用默认解码,就非常安全。但是,如果您真的很担心,您应该在实际使用它之前验证加载的 JSON 数据。

关于python - Django JSON反序列化安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9603841/

相关文章:

Python;列表索引超出范围[地址簿任务]

python - 通过Python中的唯一值计算数组组的平均值

django 测试 - 确认模型是唯一的,具体取决于另一个字段

django-piston:DELETE 处理程序中的 request.data 可用性

python - 在 h 标签之后查找 'p' 标签

python - 如何使用对角线作为边界?

django - 在 Django 中通过 .annotate() 创建的字段上使用 .extra()

json - 完成数据加载后不会删除 swift activityIndi​​cator

javascript - 如何让 Highcharts 从外部 JSON 文件获取数据?

node.js - 从 Response.json() 返回的 JSON 似乎无效?