ホームページ  >  記事  >  バックエンド開発  >  PHP セキュリティ フィルター コード (高いセキュリティ係数を備えた 360 によって提供されます)

PHP セキュリティ フィルター コード (高いセキュリティ係数を備えた 360 によって提供されます)

WBOY
WBOYオリジナル
2016-07-25 08:57:331325ブラウズ
  1. /**

  2. * 危険なパラメーターをフィルター
  3. * 編集: bbs.it-home.org
  4. */
  5. //Safe3によるコード
  6. functioncustomError($errno, $errstr, $errfile, $errline)
  7. {
  8. echo " エラー番号: [$errno]、$errfile の $errline 行でエラー
    ";
  9. 死ぬ();
  10. }
  11. set_error_handler("customError",E_ERROR);
  12. $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+ (テーブル|データベース)";
  13. $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)";
  14. $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)";
  15. 関数 Stop Attack($StrFiltKey,$StrFiltValue,$ArrFiltReq){

  16. if(is_array($StrFiltValue))

  17. {
  18. $StrFiltValue=implode($StrFiltValue);
  19. }
  20. if (preg_match("/".$ArrFiltReq."/is",$StrFiltValue)==1){
  21. //slog("

    operIP: ".$_SERVER[" REMOTE_ADDR"]."
    操作時間: ".strftime("%Y-%m-%d %H:%M:%S")."
    操作面:".$_SERVER[" PHP_SELF"]."
    提交方法: ".$_SERVER["REQUEST_METHOD"]."
    提交パラメータ: ".$StrFiltKey."
    提交データ: ".$StrFiltValue);
  22. print "360websec Notice:不正な操作!";
  23. exit();
  24. }
  25. }
  26. //$ArrPGC=array_merge($_GET,$_POST,$_COOKIE);
  27. foreach($_GET as $key=>$value){
  28. Stop Attack($key,$value,$getfilter);
  29. } //bbs.it-home.org
  30. foreach($_POST as $key=>$value){
  31. Stop Attack($key,$value,$postfilter);
  32. }
  33. foreach($_COOKIE as $key=>$value){
  34. Stop Attack($key,$value,$cookiefilter);
  35. }
  36. if (file_exists('update360.php')) {
  37. echo "请重命名文件update360.php,黑客利用防止
    ";
  38. 死ぬ();
  39. }
  40. 関数 slog($logs)
  41. {
  42. $toppath=$_SERVER["DOCUMENT_ROOT"]."/log.htm";
  43. $Ts=fopen($toppath,"a+");
  44. fputs($Ts,$logs."rn");
  45. fclose($Ts);
  46. }
  47. ?>

复制牌

可能性を感じて興味深い文章:

PHP の投稿、機密データの取得の例 php过滤非法与特殊文字符串的方法 php 防注入の一段代码(过滤パラメータ) php正则过滤html标签、空格、换行符等の代価例 php实现过滤IP黑白名单の方法 好用なphpはSQL注入洞漏过滤関数の代価を防ぎます php で使用されている滤機能の入力誌证 php 防止 SQL 注入正则过滤一例 php过滤危険险htmlの代码


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