游客发表

一段困扰许久的防注入代码

发帖时间:2025-11-03 13:23:48

一段困扰许久的防注入代码
复制<?段困php //Code By Safe3   ini_set(date.timezone,Asia/Shanghai);  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="|select|from|(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){          slog("<br><br>操作IP: ".$_SERVER["REMOTE_ADDR"]."<br>操作时间: ".strftime("%Y-%m-%d %H:%M:%S")."<br>操作页面:".$_SERVER["PHP_SELF"]."<br>提交方式: ".$_SERVER["REQUEST_METHOD"]."<br>提交参数: ".$StrFiltKey."<br>提交数据: ".$StrFiltValue);          @header("http/1.1 404 not found");           print "<html><title>404: Not Found</title>";          //slog("<br><br>操作IP: ".$_SERVER["REMOTE_ADDR"]."<br>操作时间: ".strftime("%Y-%m-%d %H:%M:%S")."<br>操作页面:".$_SERVER["PHP_SELF"]."<br>提交方式: ".$_SERVER["REQUEST_METHOD"]."<br>提交参数: ".$StrFiltKey."<br>提交数据: ".$StrFiltValue);          print "<body>Url里含有非法字符串,属于有误操作!... <ahref=/>您还可以返回首页</a></body></html>";    ;exit();      }  }  //$ArrPGC=array_merge($_GET,$_POST,$_COOKIE);  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); }  function slog($logs)  {      $toppath=$_SERVER["DOCUMENT_ROOT"]."/log.htm";      $Ts=fopen($toppath,"a+");      fputs($Ts,$logs."rn");      fclose($Ts); }  ?> 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.

    热门排行

    友情链接