HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

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

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

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

  #2  
Старый 08.08.2009, 12:04
serg_1966
Новичок
Регистрация: 02.07.2008
Сообщений: 12
С нами: 9399825

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

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

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

Репутация: 921


По умолчанию

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
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
С нами: 11278406

Репутация: 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
 
Ответить с цитированием

  #5  
Старый 08.08.2009, 12:34
altblitz
Постоянный
Регистрация: 05.06.2009
Сообщений: 706
С нами: 8912858

Репутация: 759


По умолчанию

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

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

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

  #7  
Старый 08.08.2009, 14:52
b3
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
С нами: 11278406

Репутация: 818


По умолчанию

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

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

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

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

Репутация: 3338


По умолчанию

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

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

  #10  
Старый 08.08.2009, 19:59
fl00der
Постоянный
Регистрация: 17.12.2008
Сообщений: 353
С нами: 9157119

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

Короче order allow,deny
deny from 10.0
deny from 10.1
...
allow from all
Это пропиши в .htaccess, ну только вместо многоточия свои подсети. Или через iptables, если юникс на борту, не помню уже, как там, RTFM.

Последний раз редактировалось fl00der; 08.08.2009 в 20:01..
 
Ответить с цитированием
Ответ



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



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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору. Комиссия форума: 2%.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...
×

ESCROW ADMIN PANEL

Загрузка...
Загрузка...