很多网站为了防护安全,都安装了360网站安全检测工具,来及时的检测网站安全出现的问题。对于出现的问题,有时候360会给出解决方案,但是有的时候却没有。
对于如上图所示的问题,我总结了一下方法,下面简单的介绍下。
针对sql盲注问题,一般来说就是对用户输入的数据没有进行一个过滤和防护。
1、写函数控制sql注入:
function GetVariable(strVariableName)
if IsEmpty(Trim(Request(strVariableName))) then
GetVariable=empty
exit Function
end if
GetVariable=Replace(Trim(Request(strVariableName)),”‘”,”””)
GetVariable=Replace(GetVariable,”=”,”")
GetVariable=Replace(GetVariable,”–”,”")
end function
2、过滤用户输入的参数
/*****参数过滤****/
<?php
function post_check($post)
{
if (!get_magic_quotes_gpc()) // 判断magic_quotes_gpc是否为打开
{
$post = addslashes($post); // 进行magic_quotes_gpc没有打开的情况对提交数据的过滤
}
$post = str_replace(“_”, “_”, $post); // 把 ‘_’过滤掉
$post = str_replace(“%”, “%”, $post); // 把’ % ‘过滤掉
$post = nl2br($post); // 回车转换
$post= htmlspecialchars($post); // html标记转换
return $post;
}
?>
/*****参数过滤****/
其中第二种方法的思路就是先判断php 指令的magic_quotes_qpc是否为on,然后在对所有的GET,POST,COOKIES等数据自动运行addslashes()。对post表单中获取的用户输入的数据进行一个过滤。
其中我用的是第二种方法,主要是一个php函数实现的效果。相信这个方法也同样适用于所有的php类型的网站。