将带有serialize()
序列化的数组插入db中是否完全安全,或者我之前应该addslashes(serialize($array))
?或者可以有一些特定于mysql的字符?我可以删除数据或插入的任何内容吗?
答案 0 :(得分:4)
不,根本不安全。
您不应该使用addslashes
而是使用mysql_real_escape_string
。或者更好的是,将PDO与预备语句一起使用而不是转义。
答案 1 :(得分:4)
完全 *** un **** safe *将序列化数据插入数据库而不进行特定于数据库的处理。
您应该使用建议的任何机制来阻止使用您选择的数据库访问层进行SQL注入;使查询安全,防止注入包括正确地逃避数据,所以你将一石二鸟。
有关具体示例,请参阅How can I prevent SQL injection in PHP?。