ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Забанить подсеть.
  #1  
Старый 08.08.2009, 11:58
Аватар для serg_1966
serg_1966
Новичок
Регистрация: 02.07.2008
Сообщений: 12
Провел на форуме:
40433

Репутация: 5
Exclamation Забанить подсеть.

поделитесь скриптом.
Нужно забанить 10 посетей.
в файл закидаю ІР таким образом :
10.0.
10.1.
10.2.
192.168.
172.16.
і т.д.
Как реализовать бан на РНР.
Очень нужно. Помогите.
 
Ответить с цитированием

  #2  
Старый 08.08.2009, 12:04
Аватар для serg_1966
serg_1966
Новичок
Регистрация: 02.07.2008
Сообщений: 12
Провел на форуме:
40433

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

Или реализовать БАН всех кроме 2 ,3 ІР адресов.
 
Ответить с цитированием

  #3  
Старый 08.08.2009, 12:24
Аватар для Sharky
Sharky
Познавший АНТИЧАТ
Регистрация: 01.05.2006
Сообщений: 1,021
Провел на форуме:
3424739

Репутация: 921


Отправить сообщение для Sharky с помощью ICQ
По умолчанию

http://ru.php.net/manual/en/function.ip2long.php
http://ru.php.net/manual/en/function.long2ip.php

с обычными цифровыми значниями ипов я уже думаю поймёшь как поступить)
 
Ответить с цитированием

  #4  
Старый 08.08.2009, 12:30
Аватар для b3
b3
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме:
1698585

Репутация: 818


Отправить сообщение для b3 с помощью ICQ
По умолчанию

Самый простй способ создаем 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
 
Ответить с цитированием

  #5  
Старый 08.08.2009, 12:34
Аватар для altblitz
altblitz
Постоянный
Регистрация: 05.06.2009
Сообщений: 706
Провел на форуме:
2764047

Репутация: 759


Отправить сообщение для altblitz с помощью ICQ
По умолчанию

Цитата:
Сообщение от b3  
... Ну а вообще лучше всего почитай про .htaccess
да. расово верно и даже православно.
 
Ответить с цитированием

  #6  
Старый 08.08.2009, 13:56
Аватар для Sharky
Sharky
Познавший АНТИЧАТ
Регистрация: 01.05.2006
Сообщений: 1,021
Провел на форуме:
3424739

Репутация: 921


Отправить сообщение для Sharky с помощью ICQ
По умолчанию

Цитата:
Сообщение от 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
А если надо забанить диапазон ипов?) А если это диапазон большой?) чё каждый ип забивать отдельно?) вы товарищ извращенец)
 
Ответить с цитированием

  #7  
Старый 08.08.2009, 14:52
Аватар для b3
b3
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме:
1698585

Репутация: 818


Отправить сообщение для b3 с помощью ICQ
По умолчанию

Я предложил самый примитивный способ, выложил бы лучше, чем замечания делать =)
Для бана подсети нужно заносить в тхт в виде: 127.0.0.* а потом сравнивать по регулярному выражению, с условием что * - это любое число в диапе 0-255
 
Ответить с цитированием

  #8  
Старый 08.08.2009, 15:52
Аватар для mailbrush
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

Если надо на 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
Код:
127.*.0.1
255.*.*.*
 
Ответить с цитированием

  #9  
Старый 08.08.2009, 16:37
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

в .htaccess лучше, имхо:

http://tools.dynamicdrive.com/userban/
 
Ответить с цитированием

  #10  
Старый 08.08.2009, 19:59
Аватар для fl00der
fl00der
Постоянный
Регистрация: 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..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как забанить сотовый? Allen Сотовый фрикинг 10 16.03.2006 00:12
по Mac адресу можно забанить ? j0y Болталка 5 20.04.2005 12:38



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ