php中serialize序列化缺陷
程序员文章站
2022-05-05 20:15:18
...
php代码
//序列化一个数组: serialize(array("asdoasod\'asdasd", "asdaspdaso\\\\\\pdopasopd")); //返回结果: a:2:{i:0;s:16:"asdoasod\'asdasd";i:1;s:22:"asdaspdaso\\\pdopasopd";} //我们一般存进数据库,带\号直接存进数据库会有一个问题,会出现自动去除'\' //假如去除了'\' //s:16: 这个16代表长度 //再从数据库中取出来数据,s:16的长度将会变短,这个时候: unserialize(); //就会出现问题!
php代码
//序列化一个数组: serialize(array("asdoasod\'asdasd", "asdaspdaso\\\\\\pdopasopd")); //返回结果: a:2:{i:0;s:16:"asdoasod\'asdasd";i:1;s:22:"asdaspdaso\\\pdopasopd";} //我们一般存进数据库,带\号直接存进数据库会有一个问题,会出现自动去除'\' //假如去除了'\' //s:16: 这个16代表长度 //再从数据库中取出来数据,s:16的长度将会变短,这个时候: unserialize(); //就会出现问题!
下一篇: PHP单元测试phpunit
推荐阅读
-
PHP的serialize序列化数据以及JSON格式化数据分析
-
php中serialize序列化与json性能测试的示例分析
-
JSON PHP中,Json字符串反序列化成对象/数组的方法
-
PHP的serialize序列化数据以及JSON格式化数据分析
-
如何使用Serializable接口来自定义PHP中类的序列化
-
PHP中的串行化变量和序列化对象
-
php中数据序列化的实例详解
-
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
-
php序列化函数serialize() 和 unserialize() 与原生函数对比,php序列化函数
-
php序列化函数serialize() 和 unserialize() 与原生函数对比