ѡ̳
标题:
PHP记录日志用于检测攻击
[打印本页]
作者:
admin
时间:
2019-3-4 17:42
标题:
PHP记录日志用于检测攻击
function write_request(){
$filename ="log/".date('Ymd_H').".txt";
$request_data =array();
$request_data[date('Y-m-d H:i:s')]['url'] = $_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
$request_data[date('Y-m-d H:i:s')]['ip'] = from_ip();
$request_data[date('Y-m-d H:i:s')]['get'] = $_GET;
$request_data[date('Y-m-d H:i:s')]['post'] = $_POST;
$request_data[date('Y-m-d H:i:s')]['input'] = file_get_contents("php://input");
$request_data[date('Y-m-d H:i:s')]['file'] = $_FILES;
file_put_contents($filename, print_r($request_data,true), FILE_APPEND);
}
function from_ip() {
//strcasecmp 比较两个字符,不区分大小写。返回0,>0,<0。
if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
$ip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
$ip = getenv('REMOTE_ADDR');
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
$ip = $_SERVER['REMOTE_ADDR'];
}
$res = preg_match ( '/[\d\.]{7,15}/', $ip, $matches ) ? $matches [0] : '';
return $res;
//dump(phpinfo());//所有PHP配置信息
}
write_request();
欢迎光临 ѡ̳ (http://www.sunminxuan.cn/bbs/)
Powered by Discuz! X3.4