Здесь представлены некоторые мои разработки на PHP. Это в, основном, служебные скрипты, которые работают в составе других скриптов и не могут быть протестированы здесь непосредственно.
Пробовал ничего не происходит, но когда был установлен первый вариант скрипта в папке tmp_path в течение 3 дней появилось около 200 IP адресов а далее в течение почти года ничего не происходило. Но вместе с тем хост перестал показывать чрезмерную нагрузку.
Петр, во-первых, не важно, какой у Вас шаблонизатор. Скрипт никак не привязан к шаблону. Главное, вызвать его до всяких сложных обработок. Во-вторых, если у вас логи содержатся в файле .gz, это значит, что они сжаты. Вряд ли команда cat сможет раскрутить этот архив. Поэтому Вам однозначно нужно выключать эту выборку, т.е. всё, что касается получения логов.
И вот когда Вы это выключите, тогда смотрите, что и почему у вас не получается.
Здравствуйте. На сервере появились лишние файлы, создающие дорвеи для постороннего сайта. Из-за того что при этом в принадлежащей скрипту antiddos папке tmp_path/ были удалены файлы .htaccess и access.txt, пришлось изучить ваш скрипт на уязвимости. Уязвимой может быть запрос к логам функцией exec(), если злоумышленник в обратный DNS запрос, который делает функция gethostbyaddr(), вставит произвольный код, например каким то образом получит доступ к правам на администрирование информации отдаваемой при обратном DNS запросе.
Я у себя на всякий случай в скрипте из запроса к логам убрал часть строки
www, функция escapeshellarg Вам не поможет. Во-первых, она добавляет кавычки, а они там совсем не нужны. Во-вторых, если в строке встретится апостроф, который должен будет закрыть строку вызова команды или \n, то она их пропустит. В-третьих, если туда что-то встроится, то останутся неотработанные строки. И остаток строки выдаст ошибку, которая запишется в файл dump.txt и придёт Вам на почту. И Вы бы это увидели. Очень маловероятно.
А Вы что-нибудь слышали о вставке произвольного кода в обратный DNS-запрос?
В любом случае, можно вообще убрать проверку на хост. Это будет корректнее.
По шагам сможете объяснить, как подключить Ваш скрипт? Что было написано в инструкции на главной странице скрипта - сделал. Не робит. Из того, что написано в php файлах как инструкция - не понял. очень много лишнего по моему мнению опять - же.
Ничего не понял из того, что написано м комментариях к скрипту и на главной странице скрипта. Что создавать нужно для подключения? Где создавать? Что за файлы access.txt о которых не сказано на главной странице скрипта, но сказано в комментариях... Будьте добры, объясните как все-таки правильно подключить скрипт
Спасибо. Разобрался вроде. На сайте написано что поддержка данного скрипта будет прекращена. Вопросы по скрипту можно будет задавать? Или это в равной мере относиться и к ответам? Андрей, Вы можете подсказать, какие отличия будут у нового скрипта от этого и когда примерно ждать его появления?
abc писал(а):На сайте написано что поддержка данного скрипта будет прекращена. Вопросы по скрипту можно будет задавать? Или это в равной мере относиться и к ответам?
Вопросы задавать можно. Буду отвечать, если они не требуют серьёзных разбирательств. Изменять ничего не буду и дорабатывать в этом скрипте.
abc писал(а):Андрей, Вы можете подсказать, какие отличия будут у нового скрипта от этого и когда примерно ждать его появления?
Прежде всего, у нового скрипта появился брат - анализатор логов. Скачиватели поняли, что нужно запрашивать страницы не часто, и начинают обходить скрипт. Кроме того, в конце декабря прошлого года на сайт была DDOS-атака из разных источников, поэтому скрипт не смог защитить сайт, т.к. больше трёх раз с одного адреса не обращались. Новая версия защиты интегрируется в мой самописный фреймворк. Я не думаю, что она будет в свободном доступе, т.к. секретность алгоритмов защиты сайта - залог успешной его работы. Чем позже хакеры узнают о том, как всё работает, тем дольше не придётся модифицировать защиту.
/* Выбранный режим: 0 - не использовать капчу;*/ define ('AD_CHECK_MODE', 0);
- Очищаю лог, удаляю файл с ip-адресом, т.е. сбрасываю всё. - 2 раза кликаю по ссылкам. - Вывод на экран: Сервер временно не может в данный момент выдать запрашиваемую Вами страницу. Через 40 сек. запрашиваемая Вами страница будет показана. Если это не произошло, нажмите клавишу F5.
В настройках скрипта не увидел цифры 40.
В связи с этим возникли вопросы: 1) Почему 40 сек. 1) Если Вас не затруднит, поясните пожалуйста скажем так на "живом примере", за что отвечают переменные указанные выше и какие переменные необходимо настроить, не включая в работу скрипта каптчу
Под "живым примером" имелось ввиду: Если посетительробот обращается 5 раз к сайту в течении 60 секунд, то ему выведется страница с предупреждением на 30 секунд, если он еще, столько-то раз обратится к сайту, то будет уже забанен в .htaccess. Спасибо.
Добавлено спустя 20 минут 21 секунду:
А..Я писал(а):abc, на мой взгляд, я понятно объяснил. Файл access.txt создаётся автоматически. Вам об этом беспокоится не надо.
Файл сам не создается, пока сам его не создашь. Хотя логи пишутся. п.с. На сервере у меня, есть другие скрипты, которые сами создают свои лог-файлы. Это я к тому, что нет ограничений на запись и создание логов