代码如下所示: <div class="codetitle"><a style="CURSOR: pointer" data="51426" class="copybut" id="copybut51426" onclick="doCopy('code51426')"> 代码如下:<div class="codebody" id="code51426"> <?php /* 更新非法字符、發送錯誤信息 @author @copyright 2009-06-10 / error_reporting(E_ERROR | E_WARNING | E_PARSE); set_error_handler('displayErrorHandler');//自定義錯誤 //調試信息 echo "time:".date("Y-m-d H:i:s")."n"; //數據配置 //公共函數 function displayErrorHandler($error,$error_string,$filename,$line,$symbols) { $error_no_arr = array(1=>'ERROR',2=>'WARNING',4=>'PARSE',8=>'NOTICE',16=>'CORE_ERROR',32=>'CORE_WARNING',64=>'COMPILE_ERROR',128=>'COMPILE_WARNING',256=>'USER_ERROR',512=>'USER_WARNING',1024=>'USER_NOTICE',2047=>'ALL',2048=>'STRICT'); $msg = sprintf("%s: %s at file %s(%s)",$error_no_arr[$error],$line); if(in_array($error,array(1,2,4))){ echo $msg; echo "n";//調試顯示 //發送信息 if($error==1||$error==2) { sendBankMsg($error_string); //發送簡訊 if(strpos($error_string,'xml_parse(): Bytes:')!==FALSE){ writeFiltefile($error_string); } } } } function hex2bin($hexdata) { $bindata = ''; for($i=0; $i < strlen($hexdata); $i += 2) { $bindata .= chr(hexdec(substr($hexdata,$i,2))); } return $bindata; } function writeFiltefile($error_string) { if(strpos($error_string,'xml_parse(): Bytes:')===FALSE||strpos($error_string,' 0x')===FALSE){ return; } //寫入文件 $filename = 'filtetext.php'; include($filename); $error_string = str_replace('xml_parse(): Bytes:','',$error_string); $error_string = str_replace(' 0x',$error_string); $error_text = hex2bin($error_string); $filtetextArr[] = $error_text; $tempArr = array_unique($filtetextArr);//去除重復 $result = implode("','",$tempArr); $result = "<?phpn$filtetextArr = array('".$result."');n?>"; fileWrite($filename,$result,'w'); } function sendBankMsg($msg) { $timestamp = time(); $params = "msg=".$msg ."&posttime=".$timestamp; $length = strlen($params); //创建socket连接 $domain = "www.admin.com"; //socket域名 $actionPath = "/action/bank/bankmsg.php"; //文件路徑 $fp = fsockopen($domain,80); //构造post请求的头 if($fp){ $header = "POST ".$actionPath." HTTP/1.1rn"; $header .= "Host:".$domain."rn"; $header .= "Content-Type: application/x-www-form-urlencodedrn"; $header .= "Content-Length: ".$length."rn"; $header .= "Connection: Closernrn"; //添加post的字符串 $header .= $params."rn"; //发送post的数据 fputs($fp,$header); while (!feof($fp)) { $line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据 if ($inheader && ($line == "n" || $line == "rn")) { echo $line; } } fclose($fp); } } function fileWrite($fFileName,$fContent,$fTag = 'w') { ignore_user_abort (TRUE); $fp = fopen($fFileName,$fTag); if (flock($fp,LOCK_EX)) { fwrite($fp,$fContent); flock($fp,LOCK_UN); } fclose($fp); ignore_user_abort (FALSE); return; } ?>
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|