addslashes,mysql_real_escape_string

可能还是有些PHP开发人员使用addslashes进行防止SQL注入,在这里还是建议加强中文防止SQL注入的检查,addslashes的问题在于黑客可以用0xbf27来代替单引号,而addslashes只是将0xbf27修改为0xbf5c27,成为一个有效的多字节字符,其中的0xbf5c仍会被看作是单引号,所以addslashes无法成功拦截。

当然addslashes也不是毫无用处,它是用于单字节字符串的处理,多字节字符还是用mysql_real_escape_string吧。

对于php手册中get_magic_quotes_gpc的举例:

阅读更多