IS Json_encode()比PHP中的序列化更安全吗?

时间:2016-08-25 03:47:38

标签: php security exploit

我正在测试网站的漏洞利用。

该漏洞是关于PHP对象注入的。

滥用unserialize()可能会导致这些问题。

另外,我在官方php手册中发现了一个警告,如下所示:

warning

他们建议我们使用json_encode()json_decode()

但是,我想知道为什么json_encode()json_decode()serialize()unsrialize()更安全?

1 个答案:

答案 0 :(得分:1)

不同之处在于serialize存储了一个对象。如果在反序列化之前更改字符串的内容,则可以欺骗系统运行恶意代码。

使用json_ *函数,您不存储对象,只存储数据。在“解包”时,必须从原始源实例化对象,然后才能给json_decoded数据进行处理。