备忘:进一步强化SQL执行前的检查

之前在某处提过一嘴, 我已经在框架层面提供了依靠bin2hex-unhex实现的防注入机制。 如果全项目都能落实到位, 100%没有被注入的风险。

当然如何你能全项目使用预编译的SQL的方式,那可以直接不用看下文了。

我这是在处理一个历史项目。没有精力做到全项目清理一次。

今天又研究了一下网上讨论的注入方式, 打算进一步的强化检查。

先写写,备忘。

if(substr_count($sql,"@")>=3){ echo "此SQL不安全,需要改造。";}

if(substr_count($sql,'\')>=3){ echo "此SQL不安全,需要改造。";}

if(substr_count($sql,"$")>=3){ echo "此SQL不安全,需要改造。";}

if(substr_count($sql,"/*")>=3){ echo "此SQL不安全,需要改造。";}

if(substr_count($sql,"&")>=3){ echo "此SQL不安全,需要改造。";}

if(substr_count($sql,"%")>=3){ echo "此SQL不安全,需要改造。";} 

扫描二维码关注公众号,回复: 7702335 查看本文章

if(substr_count($sql,"#")>=3){ echo "此SQL不安全,需要改造。";}

if(substr_count(strtolower($sql),"#")>0){ echo "此SQL不安全,需要改造。";}

经过这个强制,一旦测试中出现报错,则可以找到相应的代码改为hex-unhex的方式。

有待实现,有待验证。。。。

猜你喜欢

转载自www.cnblogs.com/nica/p/11773999.html