Сайт сообщества | Клуб пользователей | О проекте

Имя
Пароль
ПравилаРегистрацияСправка
Сообщения за деньПоиск

Вернуться   Клуб пользователей портальной системы RUNCMS > Опен Ресурс > Разработчикам

Ответ
 
Опции темы Опции просмотра
ZlydenGL вне форума ZlydenGL
Напильникъ - наше все

Аватар для ZlydenGL

| Цитировать Старый #1 02-08-2013, 14:03

Как известно, если на сайт пытается зайти пользователь с IP адресом, входящим в черный список, то ему отдается просто пустая страница со статусом 404. На самом деле это не совсем удобно - ведь можно же случайно заблокировать и "живых" пользователей.

Проблема актуальна и для ветки. 1.6.х, и для 2.2.х. Лечится ОЧЕНЬ просто!

Для ветки 1.6.х открываем файл class/core.php и ищем строки
PHP код:
         if (hasMatch($xoopsBadIps_REMOTE_ADDR) || hasMatch($xoopsBadAgents_HTTP_USER_AGENT))
         { 
После них добавляем
PHP код:
            $fps = @fopen(XOOPS_ROOT_PATH.'/cache/blackip_access.txt','a+');
            if (
$fps) {
               @
fputs($fps'Date: '.date("d-m-Y H:i:s").' | From: '_REMOTE_ADDR .' | Agent: '_HTTP_USER_AGENT .' | Page: '.$meta["title"].' ('.XOOPS_URL_REQUEST_U
               
@fclose($fps);
            } 
Затем пропускаем строку
PHP код:
header('Status: 404 Not Found'); 
И ниже нее добавляем через обычный echo() любой текст. Я например добавил такой:
PHP код:
            echo "По какой-то причине Ваш IP адрес попал в черный список. Пожалуйста, свяжитесь с нами по почте <a href='".$xoopsConfig['adminmail']."'>".$xoopsConfig['adminmail']."</a> для разблокировки.";
            echo 
"<br><br><br>";
            echo 
"For some reason your IP address was detected as blacklisted. Please, contact with us by mail <a href='".$xoopsConfig['adminmail']."'>".$xoopsConfig['adminmail']."</a> for unblocking activities."
Для версии 2.2.х все то же самое, только нужен файл include/common.php, XOOPS нужно заменить на RCX, а якорная строка соответственно выглядит так:
PHP код:
if ($rcxConfig['prefix'] && $rcxConfig['dbhost'] && $rcxConfig['dbname'] && $rcxConfig['database']) { 
Все! На выходе:
1. Пользователи получат нормальное сообщение и адрес для связи.
2. Администратор в папке cache в файле badips_access.log увидит еще и простукивание (и сможет сам предпринять соответствующее действие).

Еще более правильным действием было бы сделать просто инклюд "ошибочной" страницы (а еще лучше - задавать этот текст из админки), но в качестве хотфикса подойдет и это ИМХО

Последний раз редактировалось ZlydenGL, 02-08-2013 в 14:19
Причина: Добавил ссылку на почту из xoopsconfig


Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник.
  Сообщения: 777 c 22.09.2008 | Репутация: 92
pan вне форума pan
): ǝҺɐни dиw ɐн иd⊥оwɔ

Аватар для pan

| Цитировать Старый #2 02-08-2013, 15:56

У тебя много в списке забаненных ip ?


Напильник для RUNCMS
Строим помаленьку
Для гурманов
Мебель для дома
Посетить домашнюю страницу pan
  Сообщения: 4,777 c 15.03.2004 | Репутация: 121
ZlydenGL вне форума ZlydenGL
Напильникъ - наше все

Аватар для ZlydenGL

| Цитировать Старый #3 02-08-2013, 16:27

С учетом ротации - пока max 50, сейчас в списке около 20. Фишка в том, что по моим логам некоторое спамерье проще банить по маске - а в этом случае шанс "выбить" нормального пользователя ИМХО все-таки выше, чем мне лично хотелось бы иметь. Да и вообще, представь текучку: спамер пользовал подсетку, ты его прижал на уровне своего сайтика, потом его просекли и турнули уже на уровне хостинга - а подсетку отдали нормальному прову. А у тебя-то эта подсетка в бане! Можно конечно регулярно мониторить каждый IP через тот же ipaddresslocation.org, только ведь это дело тоже скриптовать надо... По мне так проще логами шуршать


Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник.
  Сообщения: 777 c 22.09.2008 | Репутация: 92
LARK вне форума LARK
[исход]

Аватар для LARK

| Цитировать Старый #4 02-08-2013, 16:59

У нас 1367 на данный момент Правда у нас автоматически банятся все IP с которых идут атаки на сайт.


Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском
-------------------------------------------------------------------
Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки.
Посетить домашнюю страницу LARK
  Сообщения: 4,185 c 20.09.2003 | Репутация: 223
ZlydenGL вне форума ZlydenGL
Напильникъ - наше все

Аватар для ZlydenGL

| Цитировать Старый #5 02-08-2013, 17:07

LARK, а ты какую-то ротацию используешь? Или просто по принципу "если единожды попал - то и бес с тобой"?


Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник.
  Сообщения: 777 c 22.09.2008 | Репутация: 92
LARK вне форума LARK
[исход]

Аватар для LARK

| Цитировать Старый #6 02-08-2013, 17:12

Цитата:
Сообщение от ZlydenGL Посмотреть сообщение
Или просто по принципу "если единожды попал - то и бес с тобой"?
Именно. Так как автобан у нас только, если было зафиксировано сканирование сайта на уязвимости.


Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском
-------------------------------------------------------------------
Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки.
Посетить домашнюю страницу LARK
  Сообщения: 4,185 c 20.09.2003 | Репутация: 223
pan вне форума pan
): ǝҺɐни dиw ɐн иd⊥оwɔ

Аватар для pan

| Цитировать Старый #7 02-08-2013, 17:19

Хорошо что у меня ip динамический, а то в бане у Ларка есть мой ростелекомовский


Напильник для RUNCMS
Строим помаленьку
Для гурманов
Мебель для дома
Посетить домашнюю страницу pan
  Сообщения: 4,777 c 15.03.2004 | Репутация: 121
ZlydenGL вне форума ZlydenGL
Напильникъ - наше все

Аватар для ZlydenGL

| Цитировать Старый #8 02-08-2013, 17:19

А как быть со случаем, когда владелец IP адреса меняется? Или по твоим наблюдениям такое почти не происходит?


Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник.
  Сообщения: 777 c 22.09.2008 | Репутация: 92
LARK вне форума LARK
[исход]

Аватар для LARK

| Цитировать Старый #9 02-08-2013, 17:31

Ну, с учетом малой посещаемости сайта и то, что он часто работает на автопилоте (когда времени нет за ним следить), такой вариант предпочтительнее. Будет проект более живой, надо будет сделать ротацию. К тому же, бан не затрагивает форум.


Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском
-------------------------------------------------------------------
Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки.
Посетить домашнюю страницу LARK
  Сообщения: 4,185 c 20.09.2003 | Репутация: 223
pan вне форума pan
): ǝҺɐни dиw ɐн иd⊥оwɔ

Аватар для pan

| Цитировать Старый #10 02-08-2013, 17:57

У меня кстати ни одного ip в бане, подход наверное другой.


Напильник для RUNCMS
Строим помаленьку
Для гурманов
Мебель для дома
Посетить домашнюю страницу pan
  Сообщения: 4,777 c 15.03.2004 | Репутация: 121
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Рейтинг@Mail.ru Хостинг провайдер Majordomo. Powered by: vBulletin Version 3.0
Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Все разделы прочитаны - Руководство форума - Архив - Вверх
Rambler's Top100
Output: 92.24 Kb. compressed to 84.88 Kb. by saving 7.36 Kb. (7.98%)
Page generated in 0.08960 seconds with 12 queries