php + mysql:没有addslashes()使用serialize()是否安全?

时间:2012-05-08 10:32:40

标签: php mysql serialization

将带有serialize()序列化的数组插入db中是否完全安全,或者我之前应该addslashes(serialize($array))?或者可以有一些特定于mysql的字符?我可以删除数据或插入的任何内容吗?

2 个答案:

答案 0 :(得分:4)

不,根本不安全

您不应该使用addslashes而是使用mysql_real_escape_string。或者更好的是,将PDO与预备语句一起使用而不是转义。

答案 1 :(得分:4)

完全 *** un **** safe *将序列化数据插入数据库而不进行特定于数据库的处理。

您应该使用建议的任何机制来阻止使用您选择的数据库访问层进行SQL注入;使查询安全,防止注入包括正确地逃避数据,所以你将一石二鸟。

有关具体示例,请参阅How can I prevent SQL injection in PHP?