SQL注入与防治

数字注入

id=-1or1=1

预防方法

clipboard.png


字符注入

  • 用户名:admin'# 密码:随意(单引号不行可换为双引号)

  • 用户名:admin'-- 密码:随意 (--空格)(单引号不行可换为双引号)

  • 用户名:' or 1=1# 密码:随意(单引号不行可换为双引号)

  • 用户名:' or 1=1-- 密码:随意(单引号不行可换为双引号)

预防方法

第一种:正则表达式限制字符(白名单)

clipboard.png

第二种:过滤转义非法字符(黑名单)

过滤单双引号
clipboard.png
过滤sql特殊字符(mysqli为例子)
clipboard.pngmysql

第三种:预编译防止sql注入(mysqli为例,PDO也有相似方法)

clipboard.png

相关文章
相关标签/搜索