Login error times at once

2012-09-15   来源:站长日记       编辑:沧海桑田   类别:PHP 教程    转载到:    发表评论

$login_fail = array();
$login_fail = F_L_count($logfile,2000);
$L_left = 9-$login_fail['count_F'];
$L_T = $login_fail['L_T']+1200-$timestamp;
if($L_left<0 && $L_T>0){
Cookie('Adminuser','',0);
Showmsg('login_fail');
}
$admin_file = $_SERVER['PHP_SELF'];
$logfile = D_P.'data/cache/admin_record.php';
if(!file_exists($logfile)){ writeover($logfile,"n");  }
$record_pwd = str_replace('|','&#124;',Char_cv($_POST['password']));
$new_record="|$record_name|$record_pwd|Logging Failed|$onlineip|$timestamp|n";
writeover($logfile,$new_record,"ab");

function F_L_count($filename,$offset){
global $onlineip,$timestamp;
$result=array();
if($fp=@fopen($filename,"rb"))
{
  flock($fp,LOCK_SH);
  fseek($fp,-$offset,SEEK_END);
  $readb=fread($fp,$offset);
  fclose($fp);
  $readb=trim($readb);
  $readb=explode("n",$readb);
  $count=count($readb);
  $tmp=array();
  for($i=$count-1;$i>0;$i--){
   $tmp=explode("|",$readb[$i]);
   if(strpos($readb[$i],"|Logging Failed|$onlineip|")===false){
    continue;
   }elseif($result['count_F']>=10 || $tmp['5']<$timestamp-1200){
    break;
   }
   $result['count_F']++;
   $result['L_T'] < $tmp['5'] && $result['L_T'] = $tmp['5'];
  }
}
return $result;
}

0

0
0|0 | 鲜花 VS 砸蛋 | 39阅读 0评论