Друзья и коллеги, заранее прошу прощения если не в том разделе создал тему, сильно не отчитывайте И так вопрос: Как запретить регистрацию пользователей с определенными email адресами? К примерe есть сервисы одноразовой почты, адреса у которых выглядят так: gkl34323@klzlk.com Требуется запретить весь домен *@klzlk.com или же разрешить только определенную группу доменов, например *.mail.ru, *.gmail.com и т.д. Сколько в гугле не рылся все в пустую Заранее спасибо.
Повторяем как мантру: «не нужно править core файлы!». Все делается корректными методами. Нужно написать плагин, который будет отлавливать событие onBeforeStoreUser и в нем проверять email на вшивость. Для начала можете использовать плагин-пример plugins/user/example.php - копируйет его и в путь! План такой: 1. получаете очередного юзера кандидата на создание (или на апдейт если $isnew==false); 2. берете его email и сравниваете поочередно с политическими проститутками Код (PHP): if( preg_match( '#@mailforspam.com$#', $email) { // плохой мыл детектед } elseif( preg_match( '#@mailinator.com$#', $email) { ... 3. если мыл плохой, то надо видимо редиректить на ввод данных с сообщением, что "да ведь это же жулики!": Код (PHP): $mainframe->redirect( JRoute::_('index.php?option=com_user&view=.....'), 'Введите свой настоящий мыл, а не это фуфло, пожалуйста.');
Еще более крутанским пилотажем будет в темплейте сделать оверрайд формы ввода данных для нового юзера, и там же по событию ввода в поле email или даже по событию изменения содержания этого поля, JavaScript'ом проверять, не вводят ли уже что-то плохое, и если да - то сразу подписывать под полем красным "Нехороший адрес!". Это не отменяет необходимость проверять полученные скриптом данные и со стороны Joomla, как я описал выше.