- //Code By Safe3
- functioncustomError($errno, $errstr, $errfile, $errline)
- {
- echo "エラー番号: [$errno ]、$errfile の $errline 行でエラーが発生しました
" ;
- 死ぬ();
- }
- set_error_handler("customError",E_ERROR);
- $getfilter="'|(and|or)\b.+?(>|<|=|in|like)|\/\*.+?\*\/|<\s*script\ b|\bEXEC\b|UNION.+?Select|Update.+?SET|Insert\s+INTO.+?VALUES|(選択|削除).+?FROM|(作成|変更|ドロップ|TRUNCATE)\s+ (テーブル|データベース)" ;
- $postfilter="\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|\/\*.+?\* \/|<\s*script\b|\bEXEC\b|UNION.+?Select|Update.+?SET|Insert\s+INTO.+?VALUES|(選択|削除).+?FROM|(作成|変更|ドロップ|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|(選択|削除).+?FROM|(作成|変更|ドロップ|TRUNCATE)\s+(TABLE|DATABASE)" ;
- 関数 Stop Attack($StrFiltKey,$StrFiltValue,$ArrFiltReq){
-
- if(is_array($StrFiltValue))
- {
- $StrFiltValue=implode($StrFiltValue);
- }
- if (preg_match("/".$ArrFiltReq."/is",$StrFiltValue)==1){
- //slog("
operIP: ".$_SERVER[" REMOTE_ADDR"]." 操作時間: ".strftime("%Y-%m-%d %H:%M:%S")." 操作面:".$_SERVER[" PHP_SELF"]." 提交方法: ".$_SERVER["REQUEST_METHOD"]." 提交パラメータ: ".$StrFiltKey." 提交データ: ".$StrFiltValue);
- 「360websec 注意:不正な操作です!」を印刷します。 ;
- exit();
- }
- }
- //$ArrPGC=array_merge($_GET,$_POST,$_COOKIE);
- foreach($_GET as $key=>$value){
- Stop Attack($key,$value,$getfilter);
- }
- foreach($_POST as $key=>$value){
- Stop Attack($key,$value,$postfilter);
- }
- foreach($_COOKIE as $key=>$value){
- Stop Attack($key,$value,$cookiefilter);
- }
- /*
- if (file_exists('update360.php')) {
- echo "请重命名文件update360.php,黑客利用防止
";
- 死ぬ();
- }
- */
- function slog($logs)
- {
- $toppath=$_SERVER["DOCUMENT_ROOT"]."/log.htm";
- $Ts=fopen($toppath,"a+");
- fputs($Ts,$logs."rn");
- fclose($Ts);
- }
复制代
|