aite.xyz 官方论坛

 找回密码
 立即注册
搜索
热搜: anmpp lnmpp
查看: 2081|回复: 2

PHP防注入,全局调用即可

[复制链接]

4

主题

5

帖子

32

积分

新手上路

Rank: 1

积分
32
发表于 2015-4-28 22:02:59 来自手机 | 显示全部楼层 |阅读模式
<?php
function customError($errno, $errstr, $errfile, $errline)
{
echo "<b>Error number:</b> [$errno],error on line $errline in $errfile<br />";
die();
}
set_error_handler("customError",E_ERROR);
$getfilter="'|(and|or)\\b.+?(>|<|=|in|like)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)";
$postfilter="\\b(and|or)\\b.{1,6}?(=|>|<|\\bin\\b|\\blike\\b)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)";
$cookiefilter="\\b(and|or)\\b.{1,6}?(=|>|<|\\bin\\b|\\blike\\b)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)";
function StopAttack($StrFiltKey,$StrFiltValue,$ArrFiltReq){  
if(is_array($StrFiltValue))
    $StrFiltValue=implode($StrFiltValue);
if (preg_match("/".$ArrFiltReq."/is",$StrFiltValue)==1){   
   error_log("IP: ".$_SERVER["REMOTE_ADDR"].": ".strftime("%Y-%m-%d %H:%M:%S").":".$_SERVER["PHP_SELF"].": ".$_SERVER["REQUEST_METHOD"].": ".$StrFiltKey.": ".$StrFiltValue."\n",3, "XundaslSqlSafe-".date("Y-m-d", time()).".log");
   echo "警告:非法操作!";
   exit();
}      
}  
foreach($_GET as $key=>$value)
        StopAttack($key,$value,$getfilter);
foreach($_POST as $key=>$value)
        StopAttack($key,$value,$postfilter);
foreach($_COOKIE as $key=>$value)
        StopAttack($key,$value,$cookiefilter);
?>

8

主题

51

帖子

187

积分

注册会员

Rank: 2

积分
187
发表于 2015-5-30 16:16:04 | 显示全部楼层
我记得dz有这样的函数,可以提取出来

8

主题

51

帖子

187

积分

注册会员

Rank: 2

积分
187
发表于 2015-7-4 08:27:38 | 显示全部楼层
有个问题:有注释怎么办
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|aite.xyz 官方论坛  

GMT+8, 2021-4-18 09:56 , Processed in 0.032269 second(s), 9 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表