Ответить Новая тема Новый опрос 
Всего: 3 1 2 3 >
 можно заблокировать не желательные Email
foxtrot
Новичок
Сообщений: 4
Регистрация: 24-08-2013


20-01-2018 23:56
можно заблокировать не желательные Email ?
Может кто знает как заблокировать почтовые адреса.
или отключить службу поддержки. китаезы забрасывают письмами. по 1000 в день. спасибо
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
foxtrot
Новичок
Сообщений: 4
Регистрация: 24-08-2013


20-01-2018 23:59
можно заблокировать не желательные Email ?


Изображения:
china.JPG - Размер файла125.8KB, Скачиваний: 867 (Нажмите для увеличения)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
sharos
Cпециалист
Сообщений: 167
Регистрация: 18-06-2011


21-01-2018 01:07
Кстати да, у меня на одной демке последнее время прет спам через эту форму обратной связи. ;(
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Dulco


Cпециалист
Сообщений: 223
Откуда: Краснодар
Регистрация: 05-07-2012


21-01-2018 04:12
На офф. форуме эта проблема обсуждалась и решения есть
Скрытое содержимое:
просмотр разрешен группе "Пользователи".

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


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


21-01-2018 16:45
Цитата:( Dulco @ 21-01-2018 05:12 Смотреть сообщение )
На офф. форуме эта проблема обсуждалась и решения есть

Нет необходимости устанавливать сторонние модули.

Цитата:( foxtrot @ 21-01-2018 00:56 Смотреть сообщение )
можно заблокировать не желательные Email ?
Может кто знает как заблокировать почтовые адреса.
или отключить службу поддержки. китаезы забрасывают письмами. по 1000 в день. спасибо

Откройте файл /controllers/front/ContactController.php и после:
Код:
$message = Tools::getValue('message');

добавьте подобный код:
Код:
if (!$this->context->customer->isLogged() && Tools::getValue('id_contact') && Tools::getValue('from') && $message)
{
    if(empty($_SERVER['HTTP_USER_AGENT']) || empty($_SERVER['HTTP_REFERER']))
    {
        $this->errors[] = Tools::displayError('SPAM');
    }
}

до строки:
Код:
$customer = $this->context->customer;

найдите
Код:
} else {

и замените на:
Код:
} if(empty($this->errors)) {
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
foxtrot
Новичок
Сообщений: 4
Регистрация: 24-08-2013


21-01-2018 19:03
Скрытое содержимое:
просмотр разрешен группе "Пользователи".


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


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


23-01-2018 14:59
Данный код более не работает (может пропускать некоторое кол-во сообщений):
Цитата:( Алекс @ 21-01-2018 17:45 Смотреть сообщение )
Код:
if (!$this->context->customer->isLogged() && Tools::getValue('id_contact') && Tools::getValue('from') && $message)
{
    if(empty($_SERVER['HTTP_USER_AGENT']) || empty($_SERVER['HTTP_REFERER']))
    {
        $this->errors[] = Tools::displayError('SPAM');
    }
}


В некоторых случаях изменён скрипт рассылки (передаются данные HTTP_USER_AGENT и HTTP_REFERER).
Можно добавить еще одно условие:
Код:
if (!$this->context->customer->isLogged() && Tools::getValue('id_contact') && Tools::getValue('from') && $message)
{
    if(preg_match("/(".implode('|', ['www.', 'http']).")/is", $message) || empty($_SERVER['HTTP_USER_AGENT']) || empty($_SERVER['HTTP_REFERER']) || Tools::getValue('fileUpload') == Tools::getValue('from'))
    {
        $this->errors[] = Tools::displayError('SPAM');
    }
}


А также убрать рассылку письма о подтверждении отправленного сообщения (именно через эту дыру выполняется рассылка спама для пользователей)
Удалите следующий код:
Код:
|| !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)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
24medok
Новичок
Сообщений: 11
Регистрация: 06-03-2018


16-03-2018 14:14

А также убрать рассылку письма о подтверждении отправленного сообщения (именно через эту дыру выполняется рассылка спама для пользователей)
Удалите следующий код:
Код:
|| !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)

[/quote]

Какую часть нужно удалить?

Код:
if (empty($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);
                    else
                    {
                        if (!Mail::Send($this->context->language->id, 'contact', Mail::l('Message from contact form').' [no_sync]',
                            $var_list, $contact->email, $contact->name, $from, ($customer->id ? $customer->firstname.' '.$customer->lastname : ''),
                                    $file_attachment) ||
                                !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, $contact->email, $contact->name, $file_attachment))
                                    $this->errors[] = Tools::displayError('An error occurred while sending the message.');
                    }
                }


После удаления
Код:
!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, $contact->email, $contact->name, $file_attachment))

Спам не идет, но форма обратной связи выдает ошибку 500.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


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


16-03-2018 14:42
Цитата:( 24medok @ 16-03-2018 15:14 Смотреть сообщение )
Спам не идет, но форма обратной связи выдает ошибку 500.

Приложите получившийся файл.
Проверю наличие ошибок и исправлю при необходимости.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
24medok
Новичок
Сообщений: 11
Регистрация: 06-03-2018


16-03-2018 16:58
Цитата:( Алекс @ 16-03-2018 14:42 Смотреть сообщение )
Цитата:( 24medok @ 16-03-2018 15:14 Смотреть сообщение )
Спам не идет, но форма обратной связи выдает ошибку 500.
Приложите получившийся файл.
Проверю наличие ошибок и исправлю при необходимости.
Текст который удалял поместил в закомментировал. Строка 206.

Версия Prestahop 1.6.1.18


Сообщение отредактировал 24medok (16-03-2018 16:59)


Вложения:

Вложения ContactController.php( Размер файла: 12.11KB Скачиваний: 200 )
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос 
Всего: 3 1 2 3 >