php过滤sql注入,新手

2022-03-27 财经 60阅读
我在PHP4环境下写了一个防SQL注入的代码,经过实际使用在PHP5下也兼容,欢迎大家使用修改,使用。
代码如下:

classsqlin
{

//dowith_sql($value)
functiondowith_sql($str)
{
$str=str_replace("and","",$str);
$str=str_replace("execute","",$str);
$str=str_replace("update","",$str);
$str=str_replace("count","",$str);
$str=str_replace("chr","",$str);
$str=str_replace("mid","",$str);
$str=str_replace("master","",$str);
$str=str_replace("truncate","",$str);
$str=str_replace("char","",$str);
$str=str_replace("declare","",$str);
$str=str_replace("select","",$str);
$str=str_replace("create","",$str);
$str=str_replace("delete","",$str);
$str=str_replace("insert","",$str);
$str=str_replace("'","",$str);
$str=str_replace(""","",$str);
$str=str_replace("","",$str);
$str=str_replace("or","",$str);
$str=str_replace("=","",$str);
$str=str_replace("%20","",$str);
//echo$str;
return$str;
}
//aticle()防SQL注入函数
functionsqlin()
{
foreach($_GETas$key=>$value)
{
$_GET[$key]=$this->dowith_sql($value);
}
foreach($_POSTas$key=>$value)
{
$_POST[$key]=$this->dowith_sql($value);
}
}
}
$dbsql=newsqlin();
?>
===================================================================================
使用方式:
将以上代码复制新建一个sqlin.php的文件,然后包含在有GET或者POST数据接收的页面
原理:
将所有的SQL关键字替换为空.
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com