Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

08.08.2009, 11:58
|
|
Новичок
Регистрация: 02.07.2008
Сообщений: 12
Провел на форуме: 40433
Репутация:
5
|
|
Забанить подсеть.
поделитесь скриптом.
Нужно забанить 10 посетей.
в файл закидаю ІР таким образом :
10.0.
10.1.
10.2.
192.168.
172.16.
і т.д.
Как реализовать бан на РНР.
Очень нужно. Помогите.
|
|
|

08.08.2009, 12:04
|
|
Новичок
Регистрация: 02.07.2008
Сообщений: 12
Провел на форуме: 40433
Репутация:
5
|
|
Или реализовать БАН всех кроме 2 ,3 ІР адресов.
|
|
|

08.08.2009, 12:24
|
|
Познавший АНТИЧАТ
Регистрация: 01.05.2006
Сообщений: 1,021
Провел на форуме: 3424739
Репутация:
921
|
|
http://ru.php.net/manual/en/function.ip2long.php
http://ru.php.net/manual/en/function.long2ip.php
с обычными цифровыми значниями ипов я уже думаю поймёшь как поступить)
|
|
|

08.08.2009, 12:30
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
Самый простй способ создаем ban.php
PHP код:
<?php
$ip = file('ban_ip.txt');
$count = count($ip);
for ($i=0;$i < $count;$i++) {
if($ip[trim($i)] == $_SERVER['REMOTE_ADDR'])
{
echo 'BANNED';
exit;
}
}
?>
И инклудим его на каждую страничку где нужно проверять. База IP хранится в ban_ip.txt
Ну а вообще лучше всего почитай про .htaccess
|
|
|

08.08.2009, 12:34
|
|
Постоянный
Регистрация: 05.06.2009
Сообщений: 706
Провел на форуме: 2764047
Репутация:
759
|
|
Сообщение от b3
... Ну а вообще лучше всего почитай про .htaccess
да. расово верно и даже православно.
|
|
|

08.08.2009, 13:56
|
|
Познавший АНТИЧАТ
Регистрация: 01.05.2006
Сообщений: 1,021
Провел на форуме: 3424739
Репутация:
921
|
|
Сообщение от b3
Самый простй способ создаем ban.php
PHP код:
<?php
$ip = file('ban_ip.txt');
$count = count($ip);
for ($i=0;$i < $count;$i++) {
if($ip[trim($i)] == $_SERVER['REMOTE_ADDR'])
{
echo 'BANNED';
exit;
}
}
?>
И инклудим его на каждую страничку где нужно проверять. База IP хранится в ban_ip.txt
Ну а вообще лучше всего почитай про .htaccess
А если надо забанить диапазон ипов?) А если это диапазон большой?) чё каждый ип забивать отдельно?) вы товарищ извращенец)
|
|
|

08.08.2009, 14:52
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
Я предложил самый примитивный способ, выложил бы лучше, чем замечания делать =)
Для бана подсети нужно заносить в тхт в виде: 127.0.0.* а потом сравнивать по регулярному выражению, с условием что * - это любое число в диапе 0-255
|
|
|

08.08.2009, 15:52
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
Если надо на PHP:
ban.php
PHP код:
<?php
$file = array_map('trim', file('networks.txt')); #загоняем файл в массив
foreach ($file as $expression) #цикл - обработка каждого элемента массива
{
$expression = str_replace('.', '\.', $expression); #подгоняем строку под регулярку
$expression = str_replace('*', '(.*)', $expression); #подгоняем строку под регулярку
if (preg_match('#' . $expression . '#', $_SERVER['REMOTE_ADDR'])) #проверяем айпи по регулярке и в случае удачи
{
header('HTTP/1.1 403 Forbidden'); #отправляем заголовок 403 и
die("<title>BANNED NETWORK</title>\r\n\r\n<h1>Banned network!</h1>"); #выводим, что подсеть забанена
}
}
?>
networks.txt
|
|
|

08.08.2009, 16:37
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
в .htaccess лучше, имхо:
http://tools.dynamicdrive.com/userban/
|
|
|

08.08.2009, 19:59
|
|
Постоянный
Регистрация: 17.12.2008
Сообщений: 353
Провел на форуме: 919131
Репутация:
74
|
|
Короче order allow,deny
deny from 10.0
deny from 10.1
...
allow from all
Это пропиши в .htaccess, ну только вместо многоточия свои подсети. Или через iptables, если юникс на борту, не помню уже, как там, RTFM.
Последний раз редактировалось fl00der; 08.08.2009 в 20:01..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|