Здравствуйте, гость ( Вход | Регистрация )
Последние записи
|
Записи на 17.12.2010
Всем доброго времени суток! Достали меня боты, регистрирующиеся на форуме. Автоматическая регистрация у нас запрещена, но это не прибавляет счастья, так как приходится искать регистрации только с наших IP , подтверждать их, а "левые" соответственно удалять. Дошли руки и пропатчил я исходник класса отвечающего за регистрацию в IPB. Итак... Ищем в дереве исходников файл sources/action_public/register.php В нем, после информации о копирайте идет описание класса register. В самом начале класса, вставляем код функции, которая проверяет, из нашей ли сети пришел желающий зарегистрироваться или нет. Код function checkIP($ip) { /* массив masks содержит маски наших сетей */ $masks = array ("255.255.252.0","255.255.0.0", "255.255.0.0", "255.255.248.0"); /* массив nets содержит объявления наших сетей */ $nets = array ("91.204.176.0", "172.31.0.0", "10.10.0.0", "178.213.32.0"); $my_i = 0; foreach ($masks as $mask) { if( (long2ip(ip2long($ip) & ip2long($mask))) == $nets[$my_i]) return true; $my_i++; } return false; } Алгоритм не самый красивый, с точки зрения эстетики, но работает железно и прост Затем, находим начало функции auto_run того же класса и в самом начале добавляем: Код if(! $this->checkIP($_SERVER["REMOTE_ADDR"])) { $this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'reg_off' )); } Все. Теперь, пытающийся зарегистрироваться или сменить пароль на аккаунт, получит только сообщение , что регистрация отключена. Разумеется, только если он не из нашей сети. Update: Методом от обратного, можно наоборот, запретить регистрацию для определенных адресов/сетей. Код if( $this->checkIP($_SERVER["REMOTE_ADDR"])) { $this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'reg_off' )); }
|
Последние комментарии
komutet вкл. Ipb, борьба с ботами
Администратор вкл. Вот и повод появился Nevermore вкл. Вот и повод появился Flint вкл. Вот и повод появился Администратор вкл. Вот и повод появился fedoseevka вкл. Вот и повод появился Администратор вкл. Вот и повод появился Администратор вкл. Вот и повод появился fedoseevka вкл. Вот и повод появился mystic вкл. Вот и повод появился |