新手写SQL,直接把用户传的参数拼进SQL语句,结果网站被SQL注入,数据库被拖走,今天说最简单的防注入方法。
别直接拼SQL
别写"select * from article where id = ".$_GET['id'],用户在id后面加段恶意代码,直接就能操作你的数据库。
用预处理
把SQL和参数分开写,用mysqli的预处理,占位符写好,再把参数传进去,数据库自动转义,恶意代码不会被当成SQL执行,99%的注入都能防住。
简单粗暴的方法
新手不想用预处理,数字参数就直接转成int,比如$id = (int)$_GET['id'],用户传的字符串直接变成0,恶意代码直接失效,也能防注入。
写SQL的时候记住,别信用户传的任何参数,处理完再用,就不会出大问题。
本站源码来源于网络收集修改或者交换,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。
0