Создать ответ 
Немного измененный скрипт автобана
Автор Сообщение
нанометр Не на форуме
Рядовой
*

Сообщений: 7
У нас с: Sep 2013
Сообщение: #41
RE: Немного измененный скрипт автобана
Попробовал на другом сайте скрипт добавить... странно, тоже самое - руками в бан себя вгоняю легко, но телепорт спокойно качает сколь угодно долго при любых настройках скрипта... В чем здесь загвоздка?
09.09.2013 15:44:48
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #42
RE: Немного измененный скрипт автобана
А Вы смотрели IP адреса в логах при скачивании сайта. Возможно, телепорт использует много прокси серверов и из-за этого IP адреса часто меняются и скрипт не срабатывает.

Так как данная тема уже довольно старая (декабрь 2011 года), то в скрипт нужно внести пару изменений по формированию кода файла .htaccess, что сегодня и было сделано.

Попробуйте скопировать код заново, либо внесите в него сделанные нами изменения:
- удалите <Limit GET POST> и </Limit>
- перенесите $lines_htaccess[]="Allow from all\r\n"; под $lines_htaccess[]="Order Allow,Deny\r\n";
09.09.2013 18:58:07
Найти все сообщения Цитировать это сообщение
нанометр Не на форуме
Рядовой
*

Сообщений: 7
У нас с: Sep 2013
Сообщение: #43
RE: Немного измененный скрипт автобана
Никаких прокси - все с одного айпи...
В общем как бы работает, но как-то странно. Может забанить , а может и нет. Вот пробовал - пришлось ждать около 2 минут..телепорт скачал более 500 файлов, потом наконец был заблокирован через хтаацесс по айпи. Несколько следующих попыток скачать сайт были успешными - не блокировало. Причем настройки были более чем строгие - 3 хита на 10 секунд... Если ручками на сайте пошалить - всегда блокирует на ура.

Причем может стразу пачкой добавить в хтаццесс один и тот же айпишник, например
Order Allow,Deny
Allow from all
Deny from 49.118.113.182
Deny from 49.118.113.182
Deny from 49.118.113.182
Deny from 49.118.113.182
Deny from 49.118.113.182
09.09.2013 22:33:09
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #44
RE: Немного измененный скрипт автобана
Вчера не было возможности добраться до компьютера, поэтому долго не отвечал.

Еще один момент хотелось бы уточнить: что пишется в USER_AGENT в логах при скачивании. Как Вы могли заметить, в приведенном нами коде есть исключения для поисковых ботов Yandex, Google, Yahoo и Mail. Возможно, телепорт представляется одним из этих ботов.

Хотя, с другой стороны, если IP адрес заносится в .htaccess, следовательно, он должен быть заблокирован сервером. Может что-то не так с настройками сервера? Хоть это и менее всего вероятно.

Кстати, с какой частотой идет обращение к страницам сайта?
Если идут очень частые обращения и канал широкий, а сервер не достаточно мощный, то возможна такая ситуация, что файл .htaccess не успевает дописаться, как уже другой процесс его открывает и т.д.

В таком случае рекомендуем воспользоваться Блокировкой файлов от записи на PHP, которая позволяет заблокировать файл, с которым работает скрипт до того момента, как работа с ним не будет закончена.
В нашем случае мы будем блокировать файл .htaccess до того момента, пока файл не будет дописан до конца с учетом блокируемого IP адреса. Но пользоваться блокировками файлов нужно очень осторожно, т.к. можно случайно установить блокировку и не снять ее.
11.09.2013 19:09:16
Найти все сообщения Цитировать это сообщение
нанометр Не на форуме
Рядовой
*

Сообщений: 7
У нас с: Sep 2013
Сообщение: #45
RE: Немного измененный скрипт автобана
Спасибо за ответ! Да, я поначалу выставил телепорту его "личный" юзер-агент, но он всегда при старте нового проекта заменяет его на експлореровский.. Другие качалки по умолчанию и как правило тоже маскируются под ботов. Таким образом? качалки сайтов обмануть не удастся, как я понял. Ну да ладно...

Скрипт блокирует телепорт с принудительно выставленным юзер-агентом, но только если чувствительность скрипта в районе 3 хитов на 10 сек. (прописывает дюжину дублей моего айпи в хтацесс).
Подскажите, если несложно, скрипт "блокировка файлов от записи на PHP" можно сразу перед скриптом бана размещать в хедере (вордпресс)? Что-то не работает, ругается на строку "while (!feof($fh)) $line. = fread($fh,2048); //считываем из файла".
Ошибка "Parse error: syntax error, unexpected '=' in /home/p47838/www/site.ru/wp-content/themes/on-demand/header.php on line 73". Еще раз спасибо!
14.09.2013 16:21:10
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #46
RE: Немного измененный скрипт автобана
Как с вордпрессом, не знаю, не работал. По идее должно работать.

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

Если .htaccess каждый раз переписываем заново и старые данные из него никак не обрабатываются, то можно не считывать его ( вообще убрать строку while (!feof($fh)) $line. = fread($fh,2048); ).

Другими словами, если в .htaccess имеется какая-то неизменная часть (редиректы там и т.д.), а меняются только забаненные IP адреса, то можно не считывать содержимое .htaccess.
Просто помещаем всю неизменяемую часть в переменную $lines_htaccess[]="Тут то, что должно быть в .htaccess \r\n"; сразу после строчки $file_htaccess=".htaccess";
14.09.2013 16:41:21
Найти все сообщения Цитировать это сообщение
sanitarn Не на форуме
Ефрейтор
*

Сообщений: 12
У нас с: Oct 2013
Сообщение: #47
RE: Немного измененный скрипт автобана
А как сделать блокировку например на 15 минут?
09.10.2013 15:57:36
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #48
RE: Немного измененный скрипт автобана
Именно блокировку или бан?

Если просто блокировку, то простым SELECT запросом ищем, есть ли такой IP юзера в таблице black_list_ip, при условии что время бана больше чем текущее время минус 900 секунд. Если есть, то выводим какое-либо сообщение о блокировке и т.д.

Если нужно банить через .htaccess, то тут немного сложнее, т.к. потом нужно делать CRON или доп. проверку с целью удаления временно забаненных IP адресов из .htaccess.
09.10.2013 18:38:38
Найти все сообщения Цитировать это сообщение
sanitarn Не на форуме
Ефрейтор
*

Сообщений: 12
У нас с: Oct 2013
Сообщение: #49
RE: Немного измененный скрипт автобана
Ну у вас в настройках идет речь о $ban_day вот как его задать на 15 минут? И чтобы после из базы и хтаксеса IP пропадал
09.10.2013 19:00:09
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #50
RE: Немного измененный скрипт автобана
Просто не совсем ясно, какой именно код Вы в данный момент используете, т.к. помимо основной темы - http://usefulscript.ru/avtoban.php, еще тут на пяти страницах форума есть коды.

Приведите получившийся у Вас код целиком, тогда посмотрим как это лучше сделать.
09.10.2013 21:12:15
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)


LiveInternet
© Copyright 2011-2024 by UsefulScript.ru