Sunset、筱虎 2021-09-09 10:20 采纳率: 70%
浏览 48
已结题

字符串拼接sql安全检查通不过如何修改

接手的代码扫描时检测出安全漏洞 像这种的代码 如何进行修改?

img


用什么方法进行修复?

  • 写回答

5条回答 默认 最新

  • 於黾 2021-09-09 10:22
    关注

    给你个关键字:参数化sql
    你的用户名密码直接拼接进sql语句里面,如果有人知道了你的这个规则,然后在用户名密码的文本框里输入一个完整的sql语句,拼接进你的sql语句里面执行,这就叫sql注入。黑客可以利用这个手段随便修改你的数据库。
    -=-=-=-=-=
    参数化就是将sql语句和值进行分离,如果有人写了一大堆sql语句放进username里,参数化后的sql会将它整个当做字符串而不是命令
    -=-=-=-=
    另,别信什么临时变量之类的胡话,你内部怎么折腾变量检测器才检测不到呢。检测器的原理其实就是在username文本框里输入一个单引号,如果你已经做了sql参数化,那么单引号就会被当做字符串处理而不会报错,否则单引号作为sql命令的一部分就会报错,检测器只要发现输入了单引号你的页面崩溃就会判断你的页面不安全。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 3月27日
  • 已采纳回答 3月19日
  • 创建了问题 9月9日