PHP serialize()-缺少转义符,使字符计数错误

时间:2019-06-12 16:16:58

标签: database serialization

我有一个表单,我希望所有字段都保存为一列作为序列化数据。

一切正常,除非我有特殊的字符,例如单引号(')。

下面是有关如何重现该错误的示例:

  1. 我输入了I'm Ironman(11个字符)。

  2. 后端收到的数据以某种方式变为I\'m Ironman(12个字符)。

  3. 序列化后,计数为12,但字符串未转义。 s:12:"I'm Ironman";

  4. 现在,当我对它进行反序列化时,由于计数不匹配,它将引发致命错误

该错误肯定是由于计数不匹配引起的,因为如果我在数据库中手动将计数更改为11,则一切正常。

有人对此有解决方案吗?我应该在序列化之前修剪所有\吗?

谢谢

0 个答案:

没有答案