Запрет регистрации с некоторых почтовых сервисов

+46
3.34K
Повадились значит ко мне регится пользователи с сервисов однократного мыла и гадить на сайте… замучился удалять, на что сделал простой но милый хак.

Итак начнём с админки:
в файле admin/components/registration/backend.php добавляем после

  1. //SAVE CONFIG
  2. if ($opt=='saveconfig'){
  3.  
  4. if (!cmsCore::validateForm()) { cmsCore::error404(); }
  5.  
строку

  1.  
  2. $cfg['block_domain'] = cmsCore::request('block_domain', 'str');
  3.  
Далее спускаемся вниз

после строки

  1. <li><a href="#form"><span>Форма</span></a></li>
добавляем новую вкладку

  1. <li><a href="#dom"><span>Запрещенные домены</span></a></li>
Дальше собственно после
  1.  
  2. <td><strong>Запрашивать дату рождения при регистрации:</strong> </td>
  3. <td>
  4. <label><input name="ask_birthdate" type="radio" value="1" <?php if ($cfg['ask_birthdate']) { echo 'checked="checked"'; } ?>/> Да</label>
  5. <label><input name="ask_birthdate" type="radio" value="0" <?php if (!$cfg['ask_birthdate']) { echo 'checked="checked"'; } ?>/> Нет</label>
  6. </td>
  7. </tr>
  8. </table>
  9. </div>
  10.  
Добавляем код вкладки:

  1.  
  2. <div id="dom">
  3. <table width="661" cellpadding="10" cellspacing="0" class="proptable">
  4. <tr>
  5. <td width="308"><strong>Домены почты с которых запрещена регистрация:</strong></td>
  6. <td>
  7. <textarea name="block_domain" id="block_domain" style="width:300px"><?php echo $cfg['block_domain']; ?></textarea>
  8. </td>
  9. </tr>
  10. </table>
  11. </div>
  12.  
Теперь зайдя в админку появится новая вкладка с текстовым полем в которую через пробел вписываете надоедливые сервисы.

Теперь переходим к самому компоненту.

в файле /components/registration/frontend.php ищем строчку:

  1.  
  2. // Проверяем email
  3. if(!$item['email']) { cmsCore::addSessionMessage($_LANG['ERR_EMAIL'], 'error'); $errors = true; }
  4.  
И добавляем:

  1.  
  2. //Проверяем email на черный лист
  3. $cfg = $model->config;
  4. $raw_mail = explode("@",$item['email']);
  5. $mail_domain = strtolower($raw_mail['1']);
  6. if(strstr($cfg['block_domain'],$mail_domain)) {die("Domain not good");}
  7.  
вы конечно можете заменить вызов die на что то более красивое но мне кажется не стоит тратить ресурсы на спамеров.
0
Роман Роман 11 лет назад #
Спасибо! Сергей Игоревич, а для какой версии ваш хак?
+2
Сергей Игоревич Сергей Игоревич 11 лет назад #
Я сделал на 1.10 но в принципе для любой
+1
Anabiotick Anabiotick 11 лет назад #
Вещь хорошая и нужная. Одно плохо, этих сервисов с временным мылом - как собак не резанных, базу набивать долго придется.
Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст
-1
letsgo letsgo 11 лет назад #
Вот именно. Сервисов для ящиков тысячи, плюс возможности создать для себя на любом хостинге.
0
Anabiotick Anabiotick 11 лет назад #
Но вещь все равно нужная. Работа по удалению паразитов будет все же облегчена. Ведь и интернет-сервисы блэклистов не дают высоких гарантий защиты от мусорников.
+1
Avert Avert 11 лет назад #
Anabiotick:
Вещь хорошая и нужная. Одно плохо, этих сервисов с временным мылом - как собак не резанных, базу набивать долго придется. Да и некоторые пользуются возможностями собственных хостинговых сервисов. Прицепил домен какой-нибудь левый на пару деньков, создал мыло, нашалил и отклеил домен. С такими сталкивался.
Есть кроме сервисов и проги.
+1
Майкл Майкл 11 лет назад #
С ветрянными мельницами удумали бороться? )
0
Avert Avert 11 лет назад #
Maikl:
С ветрянными мельницами удумали бороться? )
В точку!!!
+3
CozaNostra CozaNostra 11 лет назад #
+, может сделать и белый лист и в админке выбирать какую защиту использовать,

Белый лист - разрешить только указаные сервисы.
Черный лист - запретить указаные сервисы.
0
Reborn Reborn 11 лет назад #
В идеале да)
0
Александр Александр 10 лет назад #
хорошая идея, а пока поставил , вроде все отлично, буду тестить(проверять) надоели временные почты.
0
Эдька Эдька 11 лет назад #
""


Вот с этих у вас регистрация идет ?
0
Сергей Игоревич Сергей Игоревич 11 лет назад #
Есть такие
0
Эдька Эдька 11 лет назад #
к стенке таких. как 44 году. за спам расстрел
0
Сергей Игоревич Сергей Игоревич 11 лет назад #
dlahanro.ru mailcatch.com sedfile.ru у меня стоит
0
yrenzii yrenzii 11 лет назад #
В нете можно найти список спамерских ip, можно ли сделать фильтрацию по ip?
+2
lokanaft lokanaft 11 лет назад #
Если я запрещу gmail.ru, то и mail.ru попадёт под раздачу...
+1
Сергей Игоревич Сергей Игоревич 11 лет назад #
Предложения ?
0
Александр Александр 10 лет назад #
жалко unmail.ru тоже попадает =\

Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст


только с unmail не работал mail.ru что для меня важно все почти используют его. надеюсь проблем с bk.ru inbox.ru и list.ru не будет. проверить думаю все равно стоит. пошел проверять. если у кого будут проблемы там с Яндексом или Гуглом скажите, хотя мне особо они не нужны, но все же дополнительный пользователь.
0
GarikKR GarikKR 11 лет назад #
Подскажите пожалуйста как подправить чтоб на 1.9 работало
+1
Benutzer Benutzer 10 лет назад #
у меня 1.10.4 работает)))
+1
Benutzer Benutzer 10 лет назад #
у меня 1.10.4 работает)))
+1
Bugaz Bugaz 11 лет назад #
Спасибо! А то заманали регится с mailcatch.com
0
Endroid Endroid 11 лет назад #
Спасибо за интересное решение. ТОже столкнулся с назойливым mailcatch.com
-1
Константин Г. Константин Г. 11 лет назад #
Хм. Сервер рвет соединения после этого.... если эмаил в списке...
-1
Константин Г. Константин Г. 11 лет назад #
не всегда но бывает

Еще от автора

Редирект при логине
Меня жутко бесит на сайтах, когда ходишь по нему, не замечаешь что залогинен, а потом надо зайти в раздел который только для пользователей.
Автоповорот изображений 1.10+
Итак, для тех у кого нормальные фотоаппараты и тысячи фоток на сайте.
Компонент AjaxChat для 1.10.3+
Лёгкое обновление компонента AjaxChat 0.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.