FatCat Опубликовано 29 Мая 2009 Жалоба Поделиться Опубликовано 29 Мая 2009 (изменено) В продолжение темы: http://forums.ibresource.ru/index.php?showtopic=55808Баны по айпишнику назначаются и удаляются через панель модератора, работают через .htaccess...Форумная система банов осталась "не при делах"? Непорядок. Переделал ее в "мягкий" бан: запрошенные страницы отдаются, но... медленно имучительно, съедая сумасшедший трафик (благо у хостера анлим на трафик). Как делал: В корне форума давно лежит лежит аудиофайл 12Steps.rm. В принципе, вместо него подойдет любой бинарник мегабайт на несколько. functions.phpНайти: if ($ibforums->vars['ban_ip']) { $ips = explode( "|", $ibforums->vars['ban_ip'] ); foreach ($ips as $ip) { $ip = preg_replace( "/\*/", '.*' , preg_quote($ip, "/") ); if ( preg_match( "/^$ip/", $ibforums->input['IP_ADDRESS'] ) ) { $std->Error( array( 'LEVEL' => 1, 'MSG' => 'you_are_banned', 'INIT' => 1 ) ); } } }и заменить на// + FatCat: soft_ban if ($ibforums->vars['ban_ip']) { $ips = explode( "|", $ibforums->vars['ban_ip'] ); foreach ($ips as $ip) { $ip = preg_replace( "/\*/", '.*' , preg_quote($ip, "/") ); if ( preg_match( "/^$ip/", $ibforums->input['IP_ADDRESS'] ) ) { if ($ibforums->vars['disable_gzip'] != 1)ob_end_clean(); $dump = file_get_contents($ibforums->vars['base_dir']."12Steps.rm"); $ibforums->skin['template'] = "<h2 align=\"center\">Вашему IP-адресу включен “мягкий бан”, замедляющий доступ к форуму.<br>Если Вы считаете ограничение необоснованным, обратитесь к <a href=\"index.php?act=Post&CODE=00&f=41\">администрации форума</a>.</h2><div style=\"display: none\">".$dump."</div>".$ibforums->skin['template']; } } } // - FatCat: soft_banЛинк связи с администрацией нужно будет поставить свой собственный. index.phpНайти и удалить: } else if($bantype == '2') { die(); Изменено 29 Мая 2009 пользователем FatCat Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.