ホームページ >バックエンド開発 >PHPチュートリアル >360 クロスサイト攻撃対策スクリプト

360 クロスサイト攻撃対策スクリプト

WBOY
WBOYオリジナル
2016-07-25 09:02:171251ブラウズ
360 クロスサイト攻撃対策スクリプト转ダウンロード地址: http://blog.qita.in/?post=275

使用方法:
require_once('360.php');
  1. //http://blog.qita.in
  2. functioncustomError($errno, $errstr, $errfile, $errline)
  3. {
  4. echo "エラー番号: [$errno],$errfile の $errline 行でエラーが発生しました
    ";
  5. die();
  6. }
  7. set_error_handler("customError",E_ERROR);
  8. $getfilter="'|(and|または)\b.+?(>|$postfilter ="\b(and|or)\b.{1,6}?(=|>|$cookiefilter="\b(and|or)\b.{1,6}?(=|>|function Stop Attack($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:不正な操作です!";
  16. exit();
  17. }
  18. }
  19. //$ArrPGC=array_merge($_GET,$_POST, $_COOKIE);
  20. foreach($_GET as $key=>$value){
  21. Stop Attack($key,$value,$getfilter);
  22. }
  23. foreach($_POST as $key=>$value){
  24. Stop Attack($key,$value,$postfilter);
  25. }
  26. foreach($_COOKIE as $key=>$value){
  27. Stop Attack($key,$value,$cookiefilter);
  28. }
  29. 関数 slog($ logs)
  30. {
  31. $toppath=$_SERVER["DOCUMENT_ROOT"]."/log.htm";
  32. $Ts=fopen($toppath,"a+");
  33. fputs($Ts,$logs."rn") ;
  34. fclose($Ts);
  35. }
  36. ?>
复制代


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。