Ответить Новая тема Новый опрос 
Всего: 3 1 2 3 >
 Завелись боты и регистрируются
RusBolik
Новичок
Сообщений: 62
Регистрация: 28-07-2016


09-01-2019 23:17
Регистрируются боты с одинаковыми именами, разными емаил и шлют всякую чушь через форму обратной связи.

Подскажите как справится с ними?
Формой обратной связи пользуются клиенты, убирать её не хочется совсем.
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


09-01-2019 23:56
Цитата:( RusBolik @ 10-01-2019 00:17 Смотреть сообщение )
Регистрируются боты с одинаковыми именами, разными емаил и шлют всякую чушь через форму обратной связи.

Подскажите как справится с ними?

Откройте файл /controllers/front/AuthController.php и до:
Код:
$this->errors = array_unique(array_merge($this->errors, $customer->validateController()));

добавьте подобный код:
Код:
if (Tools::getValue('customer_firstname') && preg_match('/[a-z]/', Tools::getValue('customer_firstname')))
    $this->errors[] = Tools::displayError('You cannot create account.');
if (Tools::getValue('customer_lastname') && preg_match('/[a-z]/', Tools::getValue('customer_lastname')))
    $this->errors[] = Tools::displayError('You cannot create account.');
if (Tools::getValue('address1') && strpos(Tools::getValue('address1'), 'http') !== false)
        $this->errors[] = Tools::displayError('You cannot create account.');


В файле /controllers/front/ContactController.php удалите:
Код:
|| !Mail::Send($this->context->language->id, 'contact_form', ((isset($ct) && Validate::isLoadedObject($ct)) ? sprintf(Mail::l('Your message has been correctly sent #ct%1$s #tc%2$s'), $ct->id, $ct->token) : Mail::l('Your message has been correctly sent')), $var_list, $from, null, null, null, $file_attachment, null, _PS_MAIL_DIR_, false, null, null, $contact->email)

и
Код:
Mail::Send($this->context->language->id, 'contact_form', ((isset($ct) && Validate::isLoadedObject($ct)) ? sprintf(Mail::l('Your message has been correctly sent #ct%1$s #tc%2$s'), $ct->id, $ct->token) : Mail::l('Your message has been correctly sent')), $var_list, $from, null, null, null, $file_attachment);


Данная тема обсуждалась ранее: можно заблокировать не желательные Email
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
RusBolik
Новичок
Сообщений: 62
Регистрация: 28-07-2016


10-01-2019 01:06
да да. я ту тему почитал перед тем как создать вопрос.

Я правильно понимаю что добавляемая часть в AuthController.php проверяет на совпадение одинаковые Фамилию и Имя и емаил?

 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


10-01-2019 14:58
Цитата:( RusBolik @ 10-01-2019 02:06 Смотреть сообщение )
Я правильно понимаю что добавляемая часть в AuthController.php проверяет на совпадение одинаковые Фамилию и Имя и емаил?

Код:
Код:
if (Tools::getValue('customer_firstname') && preg_match('/[a-z]/', Tools::getValue('customer_firstname')))
    $this->errors[] = Tools::displayError('You cannot create account.');
if (Tools::getValue('customer_lastname') && preg_match('/[a-z]/', Tools::getValue('customer_lastname')))
    $this->errors[] = Tools::displayError('You cannot create account.');

Проверяет наличие в полях имя , фамилия латинских букв, если вашим ИМ пользуются покупатели из прочих стран устанавливать данный код не стоит.

Код:
Код:
if (Tools::getValue('address1') && strpos(Tools::getValue('address1'), 'http') !== false)
        $this->errors[] = Tools::displayError('You cannot create account.');

Проверяет наличие в поле адрес ссылки или ссылок.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
RusBolik
Новичок
Сообщений: 62
Регистрация: 28-07-2016


10-01-2019 15:57
Цитата:
Проверяет наличие в полях имя , фамилия латинских букв, если вашим ИМ пользуются покупатели из прочих стран устанавливать данный код не стоит.

Именно! У нас стоит регистрация через соц.сети, иногда встречаются живые с написание Латиницей.

получается что мне может помочь:
/controllers/front/AuthController.php
Цитата:
if (Tools::getValue('address1') && strpos(Tools::getValue('address1'), 'http') !== false)
$this->errors[] = Tools::displayError('You cannot create account.');

и
удалить из /controllers/front/ContactController.php код который написан выше?
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
RusBolik
Новичок
Сообщений: 62
Регистрация: 28-07-2016


11-01-2019 00:58
Алекс, ответь пожалуйста!!!!
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


11-01-2019 13:31
Цитата:( RusBolik @ 10-01-2019 16:57 Смотреть сообщение )
получается что мне может помочь:
/controllers/front/AuthController.php
Цитата:
if (Tools::getValue('address1') && strpos(Tools::getValue('address1'), 'http') !== false)
$this->errors[] = Tools::displayError('You cannot create account.');
и
удалить из /controllers/front/ContactController.php код который написан выше?

Верно.
Также приложите снимок экрана с данными или информацию из БД с 2-3 зарег. ботами (по этим данным можно составить доп. запрещающие инструкции).
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
RusBolik
Новичок
Сообщений: 62
Регистрация: 28-07-2016


11-01-2019 15:14
Цитата:( Алекс @ 11-01-2019 09:31 Смотреть сообщение )
Цитата:( RusBolik @ 10-01-2019 16:57 Смотреть сообщение )
получается что мне может помочь:
/controllers/front/AuthController.php
Цитата:
if (Tools::getValue('address1') && strpos(Tools::getValue('address1'), 'http') !== false)
$this->errors[] = Tools::displayError('You cannot create account.');
и
удалить из /controllers/front/ContactController.php код который написан выше?
Верно.
Также приложите снимок экрана с данными или информацию из БД с 2-3 зарег. ботами (по этим данным можно составить доп. запрещающие инструкции).


Подскажи пожалуйста, в какой таблице БД смотреть?
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


11-01-2019 19:16
Цитата:( RusBolik @ 11-01-2019 16:14 Смотреть сообщение )
Подскажи пожалуйста, в какой таблице БД смотреть?

Данные можно взять в таблице ПРЕФИКС_customer и к этим данным из таблицы ПРЕФИКС_address по значению id_customer.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
RusBolik
Новичок
Сообщений: 62
Регистрация: 28-07-2016


11-01-2019 23:40
понял. как только новые зарегятся, сразу скину данные
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос 
Всего: 3 1 2 3 >