直接拼接SQL语句,被人注入拖走整个数据库,改用预处理语句再也没出过事
新手写PHP,直接把用户传的参数拼到SQL语句里,被人构造参数注入,整个数据库被拖走,所有用户数据全漏。第一,别直接拼接用户参数到SQL语句,必须用预处理语句;第二,用户传的数字参数,先转成整数,非数字的直接过滤;第三,数据库用户权限别给太高,网站用的数据库用户只给增删改查,不给file权限;第四,报错信息别把数据库错误直接显示在页面,别人靠报错信息找注入点。我之前写代码,直接拼接用户传的ID参数,被人构造语句拖走了整个用户表,吓出冷汗,之后所有SQL全用预处理语句,参数绑定,再也没出现过注入问题。很多新手觉得拼接SQL方便,一行代码的事,其实一个注入就能让你网站彻底报废。
本站源码来源于网络收集修改或者交换,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。
0