Всем привет, вылаживаю код специально по прозьбе этого человека. Подробности в этой.

Суть кода такова: у вас есть сайт, его ддосят всякие педорасты или вы тупо не хотите видеть человека на вашем сайте.

                        
<?php

// путь и название файлы где будут храниться заблокированые ip адреса

$file_ips
= 'ips.dat';

$ip = $_SERVER[ "REMOTE_ADDR" ];


// запись в файл ip адрес ( записывайете ip вы! ( НЕ ЗАПИСЫВАЙТЕ АВТОМАТОМ, А ТО ВСЕ БУДУТ ЗАБАНЕНЫ!!! ) )

$addip = $ip;

$fp = fopen( $file_ips, "a+" );

flock ( $fp,LOCK_EX );

fputs ( $fp, "$addip\r\n" );

flock ( $fp,LOCK_UN );

fclose( $fp );

// проверка ip

$ips = file( $file_ips );

$cips = count($ips);

for( $i
= 0; $i
< $cips; $i++){

if($ip = $ips[$i]){

$ban++;

}

}

// проверка совпадения вашего ip в базе данных заблокированых ip адресов

if($ban > 0){

echo '<html><head><title>Бан!</title></head><body><center><span style = "font : 15px verdana;">К сожалению ваш IP адес был заблокирован администратором этого сайта.</span></center></body></html>';

}


?>
7 12 0
0

Нет фото
• 30 апр 2013, 22:05


ну просто сам подумай когда база будет обширная, перебирать будет долго

0

Нет фото
3KZO * 4.89
• 30 апр 2013, 20:40


-.-

0

Нет фото
• 30 апр 2013, 20:21


ну эт считай нафф те велосипед, который работает медленнее если есть спец функция в php?

0

Нет фото
3KZO * 4.89
• 30 апр 2013, 17:04


дык вот фор в пару строк)))

$ips = file( $file_ips );

$cips = count($ips);

for( $i
= 0; $i
< $cips; $i++){

if($ip = $ips[$i]){

$ban++;

}

}

0

Нет фото
• 30 апр 2013, 16:11


слишком все сложно.... когда все эт можно сделать в пару строк

$list = explode(\",\", $file_ips);
if (in_array($ip, $list))
{
}

в моем варианте фильтрует айпишники через \",\" да хотя можно как хотите сделать заменив символ в эксплоде... а вообще лучше писать через , меньше файл будет забиваться и всегда проще фильтровать