2
我有這個代碼,防止用戶在頁面上發出多個請求,它記錄在一個文本文件中的IP地址以及一串數字我假設它的時間戳,但我不知道看起來像這樣173.1.1.100 - Requested on: 1303521541
如何將日期改爲可讀時間?限制頁面請求與PHP
$ipLog='log.txt'; //Logfile
$timeout='1'; //Wait Time
$goHere=$headers; //Page To Access
$register_globals = (bool) ini_get('register_gobals');
if ($register_globals) $vis_ip = getenv(REMOTE_ADDR);
else $vis_ip = $_SERVER['REMOTE_ADDR'];
function recordData($vis_ip,$ipLog,$goHere)
{
$log=fopen("$ipLog", "a+");
fputs ($log,$vis_ip." - Requested on: ".time()."\n");
fclose($log);
//
//
//
exit(0);
}
function checkLog($vis_ip,$ipLog,$timeout)
{
global $valid; $ip=$vis_ip;
$data=file("$ipLog"); $now=time();
foreach ($data as $record)
{
$subdata=explode(" - Requested on: ",$record);
if ($now < ($subdata[1]+600*$timeout) && $ip == $subdata[0])
{
$valid=0; echo "$timeout min wait.";
break;
}
}
}
checkLog($vis_ip,$ipLog,$timeout);
if ($valid!="0") recordData($vis_ip,$ipLog,$goHere);
不相關的問題,但如果你有控制你的PHP設置,幫你一個忙,並檢查出http://php.net/manual/en/security.globals.php – Thilo 2011-04-23 03:17:11