导航:首页 > 净水问答 > mysqlsql过滤函数

mysqlsql过滤函数

发布时间:2024-07-03 14:17:36

『壹』 php中防止SQL注入,该如何解决

php注入,原则上是因为sql拼接引起的。

通常避免sql注入的原则是:

  1. 类型校验,比如int类型的字段进行强制转换intval。

  2. 避免字符型的sql拼接,使用unhex绕过sql解析截断的字符处理。

举个例子:

select * from pass where username = '$a';

这种情况,当$a="1' or 1 = 1 or '2' = '2"情况时,真个sql变成了

select * from pass where username = '1' or 1 = 1 or '2' = '2' ;

那么这个sql就会改变sql原有语义。

类型校验大家都会,这里就不进行说明了,下面说明下使用unhex来进行字符型字段转码,绕过sql语义解析截断避免sql注入。

使用unhex(bin2hex)后,原有逻辑变成

$a = bin2hex($a);

select * from pass where username = unhex('$a') ;

由于bin2hex,$a转化成16进制数避免了sql注入的风险。

sql执行阶段,优先执行sql语义解析,而后进行unhex('$a') 的运算,所以会把"1' or 1 = 1 or '2' = '2"整个字符串当做一个字段执行,而不会进行解析,避免了sql注入问题~

阅读全文

与mysqlsql过滤函数相关的资料

热点内容
反渗透膜水分子体积 浏览:776
热水器喷头纯水是什么原因 浏览:766
上海反渗透净水机怎么样 浏览:866
怎么测试纯水ph 浏览:382
核废水对人的伤害 浏览:529
纸质过滤器优缺点 浏览:982
广东电镀废水镍回收价格是多少 浏览:631
阴离子交换层析梯度洗脱 浏览:564
连云港市反渗透阻垢剂哪里好 浏览:798
怎样理解和调试变频器的转矩提升功能 浏览:808
商铺污水流怎么处理 浏览:719
化粪池废水cod30多 浏览:860
甲酸洗超滤膜 浏览:541
电镀废水中铬含量为什么高 浏览:157
华迈水质净化器为什么下面滴水 浏览:1000
关于反渗透膜清洗的通讯报道 浏览:922
云米净饮机如何换滤芯 浏览:229
提升污泥适合什么泵 浏览:654
过滤桶放细菌屋可以吗 浏览:10
工业废水处理哪些书推荐 浏览:634