UMIhelp

Разработка сайта на UMI.CMS => JS и AJAX => Тема начата: sam от 31 Августа 2015, 16:31:14

Название: Защита от спам-заказов!
Отправлено: sam от 31 Августа 2015, 16:31:14
Проблема: в "order_comments" спамер вводит данные адреса доставки (идентификаторы - city, street ...) и отправляет заказы (периодичность спам-заказов - 10/30 мин.). Реальные покупатели никогда не дублируют адрес доставки в поле "Комментарий к адресу" - такого еще не было.

Шаблон данных --> Справочники --> Адрес доставки (редактирование) --> Комментарий к адресу (order_comments).

Задумался о том, чтобы поставить проверку - если "order_comments" содержит значения "city" и "street", то показать спамеру ложное сообщение о том, что "Заказ успешно оформлен", а на самом деле прервать дальнейшее оформление заказа.
Если это реальный покупатель, и вводит в комментарии к адресу что-то иное (свое дополнение и т.д.), то продолжать оформление заказа в обычном режиме без всякого препятствия для него.

Логически, понимаю, что спамеру тоже ничего не мешает вводить что-то иное в комментариях к адресу, но думаю, что у него программа написана именно так, что order_comments содержит значения адреса доставки.

Моё видение примерное, но явно надо доработать/исправить:

function check() {
   if (order_comments.val == city || street) {
      alert ("Заказ успешно оформлен");
      return false;
   } else {
      return true;
   }
}

<input javascript="check()" />

Какую бы нехитрую комбинацию/решение проблемы вы могли бы предложить, или как правильно можно доработать мой вариант?
Название: Re: Защита от спам-заказов!
Отправлено: e.ioffe от 01 Сентября 2015, 11:18:40
Лучше делать проверку не через javascript, а на сервере.

Делал подобное для других сайтов https://www.fl.ru/tu/50514/zaschita-formyi-oformleniya-zakaza-ot-spama-na-umi-cms.html
Название: Re: Защита от спам-заказов!
Отправлено: sam от 01 Сентября 2015, 19:46:24
Спасибо за ответ! Я так понимаю, один из Ваших вариантов схож с этим - http://wiki.umisoft.ru (Защита от спама с помощью скрытого поля). Применимо ли это из wiki.umisoft и для формы оформления заказа, или это только для форм отправки писем? Какова надежность и непроходимость спама в таком варианте?
Название: Re: Защита от спам-заказов!
Отправлено: e.ioffe от 01 Сентября 2015, 19:48:18
Цитировать
Я так понимаю, один из Ваших вариантов схож с этим - http://wiki.umisoft.ru (Защита от спама с помощью скрытого поля). Применимо ли это из wiki.umisoft и для формы оформления заказа, или это только для форм отправки писем?

Да, все верно.

Цитировать
Какова надежность и непроходимость спама в таком варианте?

Поставил только сегодня, пока клиенты не жалуются.
Название: Re: Защита от спам-заказов!
Отправлено: sam от 02 Сентября 2015, 10:37:58
Если я правильно понял из Вашего ответа, приведенный вариант на wiki.umisoft применим и для форм оформления заказа, т.е. не только к формам обратной связи - главное четко следовать данной инструкции?
Название: Re: Защита от спам-заказов!
Отправлено: e.ioffe от 02 Сентября 2015, 10:51:35
Если я правильно понял из Вашего ответа, приведенный вариант на wiki.umisoft применим и для форм оформления заказа, т.е. не только к формам обратной связи - главное четко следовать данной инструкции?

Да, с поправкой на другие макросы.
Название: Re: Защита от спам-заказов!
Отправлено: sam от 02 Сентября 2015, 14:02:42
Какие макросы поправить, не подскажете? Ясно, что путь должен быть другим, т.е. не на .../webforms/ а на .../emarket/
Название: Re: Защита от спам-заказов!
Отправлено: e.ioffe от 02 Сентября 2015, 14:25:44
Все зависит от того, какие формы защищаете. Я обычно делаю purchase_protected, и в нем проверяю капчу.
Название: Re: Защита от спам-заказов!
Отправлено: sam от 02 Сентября 2015, 14:30:22
Например, как форму с контактами покупателя, так и форму адреса доставки - кроме этих двух основных форм, при оформлении заказа никакой формы нет. Обе защищать логичнее, чтобы уже наверняка.