我有一个包含用户登录日期的打击日志文件:
Date:2014-03-19 21:38:48 IP:127.0.0.1 Request:asdasd URL:127.0.0.1:1990/anti_attack/anti-bruteforce.php?pass=asdasd USERAGENT:Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:11.0) Gecko/20100101 Firefox/11.0
我获取当前IP地址登录列表:
preg_match("#\b(IP:".$_SERVER['REMOTE_ADDR'].")\b#", $sessions,$sessions1);
结果是:
Array ( [0] => IP:127.0.0.1 [1] => IP:127.0.0.1 )
这不是我需要的结果。我需要当前发送的所有请求。
例如,如果当前日期为2014-03-19 21:38:48
我需要发送($_SERVER['REMOTE_ADDR'])
的当前IP地址2014-03-19 21:38
的所有请求,结果必须如下:
Array ( [0] => Date:2014-03-19 21:38:28 IP:127.0.0.1[1] =>Date:2014-03-19 21:38:40 IP:127.0.0.1 [2] =>Date:2014-03-19 21:38:48 IP:127.0.0.1)
答案 0 :(得分:1)
我用过这个:
$sessions=file_get_contents('session.log');
$sessions=explode("\n",$sessions);
foreach($sessions as $tmp)
if(strpos($tmp,date("Y-m-d H:i")) !== false && strpos($tmp,$_SERVER['REMOTE_ADDR']) !== false)
$sessions1[]=$tmp;