Тема: delete
Показать сообщение отдельно

  #3  
Старый 19.03.2005, 15:25
(-=util=-)
Постоянный
Регистрация: 02.12.2004
Сообщений: 352
С нами: 11282726

Репутация: 67
По умолчанию

Вот например. После первого захода чел с таким же ip несможет зайти на эту страницу. Но опять же это ненадёжно =)

PHP код:
<?php

$ipLog
='ipLogFile.txt';   // лог файл
$timeout='999999999';            // время блокировки по IP (часы) 
$goHere='Allowed.html';   // Имя файла в корневой директории 


function record($REMOTE_ADDR,$ipLog,$goHere)
{ 
    
$log=fopen("$ipLog", "a+"); 
    
fputs ($log,$REMOTE_ADDR."][".time()."\n"); 
    
fclose($log); 
    
Header ("Location: $goHere"); exit(0);
} 
function 
check($REMOTE_ADDR,$ipLog,$timeout) 
{
    global 
$valid; $ip=$REMOTE_ADDR;
    
$data=file("$ipLog"); $now=time();

    foreach (
$data as $record) 
    {
        
$subdata=explode("][",$record);
        if (
$now < ($subdata[1]+3600*$timeout) && $ip == $subdata[0]) 
        {
            
$valid=0; echo "Доступ закрыт. Попробуйте зайти через :) $timeout hours.";
            break;
        }
    }
} 
check($REMOTE_ADDR,$ipLog,$timeout);
if (
$valid!="0") record($REMOTE_ADDR,$ipLog,$goHere); 

?>
 
Ответить с цитированием