PHP代码别直接拼SQL,输入个语句就把整个用户表拖走,用预处理语句99%注入挡死

10年前 (2017-06-26)阅读1回复0
genmulu
genmulu
  • 管理员
  • 注册排名1
  • 经验值27950
  • 级别管理员
  • 主题5590
  • 回复0
楼主

新手写PHP代码,直接把用户传的参数拼进SQL语句里,被人输个注入语句,直接把整个数据库拖走,其实防注入特别简单,不用搞复杂的安全框架。第一,所有数据库查询用预处理语句,别直接把用户参数拼进SQL字符串,参数和语句分开传,注入语句根本执行不了;第二,用户输入的内容,入库前做过滤,把特殊字符转义,别直接拿用户传的内容查数据库;第三,数据库账号别用root,就给当前网站的库权限,就算被注入,也拖不走别的站的数据;第四,错误信息别直接输出给用户,不然黑客顺着错误信息,能知道数据库结构。

我之前写查询接口,直接拼SQL,被人输了注入语句,把用户表全拖走,改成预处理语句之后,注入请求直接报错,根本查不到数据,之后再也没出现过注入漏洞。很多新手觉得防注入要写一堆复杂代码,其实只要用预处理语句,99%的注入漏洞就挡住了,代码也不复杂,半天就能改完。

本站源码来源于网络收集修改或者交换,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。

本文地址:https://www.genmulu.cn/genmulu/3588.html

0
回帖

PHP代码别直接拼SQL,输入个语句就把整个用户表拖走,用预处理语句99%注入挡死 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息