Maison  >  Article  >  développement back-end  >  360提供的php防注入代码

360提供的php防注入代码

WBOY
WBOYoriginal
2016-07-25 08:43:071128parcourir
  1. //Code By Safe3
  2. function customError($errno, $errstr, $errfile, $errline)
  3. {
  4. echo "Error number: [$errno],error on line $errline in $errfile
    " ;
  5. die();
  6. }
  7. set_error_handler("customError",E_ERROR);
  8. $getfilter="'|(and|or)\\b.+?(>|$postfilter="\\b(and|or)\\b.{1,6}?(=|>|$cookiefilter="\\b(and|or)\\b.{1,6}?(=|>|function StopAttack($StrFiltKey,$StrFiltValue,$ArrFiltReq){
  9. if(is_array($StrFiltValue))
  10. {
  11. $StrFiltValue=implode($StrFiltValue);
  12. }
  13. if (preg_match("/".$ArrFiltReq."/is",$StrFiltValue)==1){
  14. //slog("

    操作IP: ".$_SERVER["REMOTE_ADDR"]."
    操作时间: ".strftime("%Y-%m-%d %H:%M:%S")."
    操作页面:".$_SERVER["PHP_SELF"]."
    提交方式: ".$_SERVER["REQUEST_METHOD"]."
    提交参数: ".$StrFiltKey."
    提交数据: ".$StrFiltValue);
  15. print "360websec notice:Illegal operation!" ;
  16. exit();
  17. }
  18. }
  19. //$ArrPGC=array_merge($_GET,$_POST,$_COOKIE);
  20. foreach($_GET as $key=>$value){
  21. StopAttack($key,$value,$getfilter);
  22. }
  23. foreach($_POST as $key=>$value){
  24. StopAttack($key,$value,$postfilter);
  25. }
  26. foreach($_COOKIE as $key=>$value){
  27. StopAttack($key,$value,$cookiefilter);
  28. }
  29. /*
  30. if (file_exists('update360.php')) {
  31. echo "请重命名文件update360.php,防止黑客利用
    ";
  32. die();
  33. }
  34. */
  35. function slog($logs)
  36. {
  37. $toppath=$_SERVER["DOCUMENT_ROOT"]."/log.htm";
  38. $Ts=fopen($toppath,"a+");
  39. fputs($Ts,$logs."\r\n");
  40. fclose($Ts);
  41. }
复制代码

php


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn