PHP防SQL注入:别直接拼参数,预处理+转类型,两步搞定

2个月前 (08-28 09:30)阅读1回复0
genmulu
genmulu
  • 管理员
  • 注册排名1
  • 经验值3465
  • 级别管理员
  • 主题693
  • 回复0
楼主

新手写SQL,直接把用户传的参数拼进SQL语句,结果网站被SQL注入,数据库被拖走,今天说最简单的防注入方法。

别直接拼SQL

别写"select * from article where id = ".$_GET['id'],用户在id后面加段恶意代码,直接就能操作你的数据库。

用预处理

把SQL和参数分开写,用mysqli的预处理,占位符写好,再把参数传进去,数据库自动转义,恶意代码不会被当成SQL执行,99%的注入都能防住。

简单粗暴的方法

新手不想用预处理,数字参数就直接转成int,比如$id = (int)$_GET['id'],用户传的字符串直接变成0,恶意代码直接失效,也能防注入。

写SQL的时候记住,别信用户传的任何参数,处理完再用,就不会出大问题。

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

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

0
回帖

PHP防SQL注入:别直接拼参数,预处理+转类型,两步搞定 期待您的回复!

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

取消确定

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