<?php
header("Content-type: text/html; charset=utf-8");
if(!function_exists('GetIP')){
function GetIP(){
static $ip = NULL;
if($ip !== NULL) return $ip;
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
$pos = array_search('unknown',$arr);
if(false !== $pos) unset($arr[$pos]);
$ip = trim($arr[0]);
}else if(isset($_SERVER['HTTP_CLIENT_IP'])){
$ip = $_SERVER['HTTP_CLIENT_IP'];
}else if(isset($_SERVER['REMOTE_ADDR'])){
$ip = $_SERVER['REMOTE_ADDR'];
}
//IP地址合法验证
$ip = (false !== ip2long($ip)) ? $ip : '0.0.0.0';
return $ip;
}
}
//获得当前的页面文件的url
if(!function_exists('GetCurUrl')){
function GetCurUrl(){
if(!empty($_SERVER['REQUEST_URI'])){
$nowurls = explode('?',$_SERVER['REQUEST_URI']);
$nowurl = $nowurls[0];
}
else{
$nowurl = $_SERVER['PHP_SELF'];
}
return $nowurl;
}
}
//返回格式化(Y-m-d H:i:s)的时间
if(!function_exists('GetDateTime')){
function GetDateTime($mktime){
return MyDate('Y-m-d H:i:s',$mktime);
}
}
function DisplayError($msg,$t=0){
//向浏览器输出错误
switch($t){
case 0:
$title = '安全警告:MySql Error!';
break;
case 1:
$title = '安全警告:请检查您的SQL语句是否合法,您的操作将被强制停止!';
break;
default;
}
$str = '<div style="font-family:\'微软雅黑\';font-size:12px;">';
$str .= '<h3 style="margin:0;padding:0;line-height:30px;color:red;">'.$title.'</h3>';
$str .= '<strong>错误文件</strong>:'.GetCurUrl().'<br />';
$str .= '<strong>错误信息</strong>:'.$msg.'';
$str .= '</div>';
//判断是否输出错误提示
echo $str;
//保存MySql错误日志
$userIP = GetIP();
$getUrl = GetCurUrl();
$getTime = GetDateTime(time());
$logfile = dirname(__FILE__).'/mysql_error_trace.php';
$savemsg = '<?php exit(); ?> Time: '.$getTime.'. || Page: '.$getUrl.' || IP: '.$userIP.' || Error: '.$msg."\r\n";
Writef($logfile, $savemsg, 'a+');
//危险错误,强制停止
if($t == 1) exit();
}
echo DisplayError('错误了',0);