Heim >Backend-Entwicklung >PHP-Tutorial >360防跨站攻击脚本

360防跨站攻击脚本

WBOY
WBOYOriginal
2016-07-25 09:02:171270Durchsuche
填写您的邮件地址,订阅我们的精彩内容:转载地址: http://blog.qita.in/?post=275

使用方法:
require_once('360.php');
  1. //http://blog.qita.in
  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. function slog($logs)
  30. {
  31. $toppath=$_SERVER["DOCUMENT_ROOT"]."/log.htm";
  32. $Ts=fopen($toppath,"a+");
  33. fputs($Ts,$logs."\r\n");
  34. fclose($Ts);
  35. }
  36. ?>
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn