使用 serialize()
序列化的数组插入 db 是完全安全的,还是我应该先addslashes(serialize($array))
?或者可以有一些 mysql 特定的字符?我可以通过插入删除数据或其他内容吗?
不,它根本不安全。
而且你永远不应该使用addslashes
而是mysql_real_escape_string
。或者更好的是,将 PDO 与预处理语句一起使用,而不是转义。
在没有
特定于数据库的处理的情况下将序列化数据插入数据库是完全 ****un****safe 的*。
您应该使用任何推荐的机制来防止所选数据库访问层的SQL注入;使查询免受注入安全也包括正确转义数据,因此您将一石二鸟。
有关具体示例,请参阅如何防止 PHP 中的 SQL 注入?