这不是JSON,而是序列化的PHP数据。如果您试图存储非原始字符串/数字的值,例如对象或数组,WordPress会使用PHP对其进行序列化。
我们如何解码这个结构
deserialize( ... );
However, I do not recommend relying on this for practical and security reasons. Don\'t store structured data as strings in the database, and if you must do it, use JSON or CSV.
对于数据WP存储,您不会反序列化数据,而是调用相关的WordPress/插件API,让WordPress/插件处理它。使用直接数据库调用访问WP数据和绕过基于PHP的API是初学者常见的错误。
安全性和向后兼容性
因为传递复杂数据将使其透明地序列化和反序列化到PHP中以便于使用,所以切换到风险较小的标准格式(如JSON)并不是一项简单的任务。
安全问题(即对象反序列化攻击)使情况变得更糟。当对象被反序列化、运行其构造函数并打开潜在的攻击向量时,PHP将重新创建对象。
当用户天真地执行UPDATE
sql查询以更改文本值,例如搜索替换URL。这是因为序列化数据结构包含值的长度,因此如果值更改了长度,但数字没有更新,则结构已损坏。