Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Генератор запрещающего списка

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Генератор списка запрета доступа с нодов Tor, для вебсервера
Haron
Отправлено: 21 Мая, 2011 - 02:44:01
Post Id



Частый гость


Покинул форум
Сообщений всего: 197
Дата рег-ции: Июнь 2010  
Откуда: Оттуда


Помог: 5 раз(а)




Это скрипт, генерирующий список запрета IP-адресов, являющихся выходными нодами анонимайзера Tor. У меня список генерируется для вебсервера Nginx, но можно переделать и под Apache.

Скрипт может быть очень полезен для защиты от всяких прошареных неадекватов, спамеров, троллей, и прочего быдла, использующего тор для своих быдляцких дел.

Скрипт предназначен для запуска по таймеру через планировщик задач, на платформах Windows Server. Конечно, подобный способ запуска php-скриптов должен быть настроен на сервере. Советую выставить промежуток запуска раз в 6 часов. (Для nginx ещё может понадобиться "мягкая" перезагрузка сервера: nginx.exe -s reload, а всё это - пихнуть в батник, который и запускать планировщиком).

В массиве $torstat - задаются адреса серверов, предоставляющих актуальные списки выходных шлюзов сети Tor. Здесь представлены четыре, на данный момент рабочих сервера, предоставляющих актуальные списки.

В переменной $ip_access - задаём полный путь до файла с правилами запрета\разрешения адресов.

PHP:
скопировать код в буфер обмена
  1. $torstat = array(
  2.     1 => 'http://torstatus.blutmagie.de/ip_list_exit.php',
  3.     2 => 'http://torstatus.all.de/ip_list_exit.php',
  4.     3 => 'http://torstatus.asprion.org/ip_list_exit.php',
  5.     4 => 'http://torstatus.rueckgr.at/ip_list_exit.php'
  6. );
  7.  
  8. $ip_access = 'c:\server\nginx\conf\tor.ipaccess';
  9.  
  10. foreach ($torstat as $value)
  11. {
  12.     $handle = @fopen($value, 'r');
  13.     if ($handle) break;
  14. }
  15.  
  16. if (!$handle) exit;
  17.  
  18. $out = @fopen($ip_access, 'w');
  19.  
  20. if (!$out) exit;
  21.  
  22. while (!feof($handle))
  23. {
  24.     $buffer = fgets($handle, 256);
  25.     fwrite($out, "deny " . str_replace("\n", ";\n", $buffer)); // здесь можно изменить формат строк для файла доступа
  26. }
  27. fclose($handle);
  28. fclose($out);


-----
И чё?
 
 Top
EuGen Администратор
Отправлено: 21 Мая, 2011 - 16:06:06
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Идея полезная.
Увы, всевозможные веб-прокси, анонимайзеры и прочее это не увидит. Хотя в любом случае кому надо - сделают.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Psog
Отправлено: 16 Июня, 2011 - 10:24:18
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




няпатуй
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Пользовательские функции »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB