开发者社区> 问答> 正文

mysql_real_escape_string()是否完全可以防止SQL注入??mysql

在http://www.justinshattuck.com/2007/01/18/mysql-injection-cheat-sheet/?akst_action=share-this上,有一节声称您可以使用某些亚洲字符编码绕过mysql_real_escape_string

用BIG5或GBK绕过mysql_real_escape_string()

“注入线” に关する追加情报:

以上字符是中国Big5

这是真的吗?如果是的话,如果您无法访问准备好的陈述,那么如何保护您的网站呢?

展开
收起
保持可爱mmm 2020-05-17 10:15:23 533 0
1 条回答
写回答
取消 提交回答
  • SET NAMES通常用于将编码从默认设置切换到应用程序需要的设置。这是mysql_real_escape_string不知道的方式完成的。这意味着,如果您切换到允许反斜杠作为2nd 3rd 4th…字节的多字节编码,则会遇到麻烦,因为mysql_real_escape_string无法正确转义。UTF-8是安全的…

    更改编码的安全方法是mysql_set_charset,但这仅在新的PHP版本中可用来源:stack overflow

    2020-05-17 10:23:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载

相关镜像