Перейти к содержимому


Фото
* * * * * 2 голосов

Фейковые заказы

корзина заказ

  • Чтобы отвечать, сперва войдите на форум
170 ответов в теме

#41 DaVinci

DaVinci
  • Фрилансер
  • 676 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 27.08.2015 - 17:23

Не ругайтесь пожалуйста, мы тут одним горем собраны!

 

 

а по делу? был приведен пример, вы воспользовались советом? Нет, тогда зачем вести дальнейшее обсуждение вашего горя?



#42 valera

valera
  • Пользователь
  • 22 сообщений

Опубликовано 27.08.2015 - 17:45

daVinchi

уже запустил, посмотрим.. Этот спамер периодами заказывает, обычно в дневное время...

 

Правильно ли я понял, что в случае спамера $order->name останется пустым? (или заказ не будет сформирован из-за отсутствия этого поля?

 

upd1: разобрался

 

Идея вполне здравая - скорее всего бот, это не бот в обычном смысле.. Это комбинация бота и человека. Бот заполняет все поля данными по образцу, а человек вводит капчу.. Идея daVichi состоит в том, что бот не проходит все страницы и не выловит сессионную переменную со страницы корзины.. 

 

Думаю, что это не сработает, т.к. бот загружает сраницы все, которые нужно (а не тупо лепит пост-запросы).

 

upd2: хотя ему придется настраивать парсер иразбираться в логике наименования полей, может и сработать...

 

upd3: пока фейковых заказов нет, посмотрим завтра


Изменено: valera, 27.08.2015 - 18:22


#43 ps-simpla

ps-simpla

    Модератор в запасе :)

  • Фрилансер
  • 971 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Пермский край

Опубликовано 27.08.2015 - 17:46

тема почищена от хлама. Дальнейшее обсуждение не касаемо темы будет расценено как спам



#44 DaVinci

DaVinci
  • Фрилансер
  • 676 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 27.08.2015 - 20:43

daVinchi

уже запустил, посмотрим.. Этот спамер периодами заказывает, обычно в дневное время...

 

Правильно ли я понял, что в случае спамера $order->name останется пустым? (или заказ не будет сформирован из-за отсутствия этого поля?

 

upd1: разобрался

 

Идея вполне здравая - скорее всего бот, это не бот в обычном смысле.. Это комбинация бота и человека. Бот заполняет все поля данными по образцу, а человек вводит капчу.. Идея daVichi состоит в том, что бот не проходит все страницы и не выловит сессионную переменную со страницы корзины.. 

 

Думаю, что это не сработает, т.к. бот загружает сраницы все, которые нужно (а не тупо лепит пост-запросы).

 

upd2: хотя ему придется настраивать парсер иразбираться в логике наименования полей, может и сработать...

 

upd3: пока фейковых заказов нет, посмотрим завтра

 

для того что бы настроить бота надо заполнить пресеты формы заказа. как вариант попробовать менять имя обязательного поля, в этом случае и пресет будет не актуален. так как у бота в логике заполнить поле name его в нашем случае не существует, потому как имя постоянно меняется, и даже если бот будет слать пост запрос с полем name форма заказа должна выдать ошибку.

 

надо пробовать. есть еще один вариант. но сперва хочу услышать мнение тех кто протестировал, будет ли работать этот метод или нет. боты разные бывают.


Изменено: DaVinci, 27.08.2015 - 20:45


#45 Kors

Kors
  • Фрилансер
  • 3 522 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия

Опубликовано 27.08.2015 - 21:21

А связи с этим мысль появилась - сделать проще, поменяв местами имена input-полей, например, так:

	<label>Имя, фамилия</label>
	<input name="email" type="text" value="{$name|escape}" data-format=".+" data-notice="Введите имя"/>
	
	<label>Email</label>
	<input name="name" type="text" value="{$email|escape}" data-format="email" data-notice="Введите email" />

И при обработке

 

    	$order->name        = $this->request->post('email');
    	$order->email       = $this->request->post('name');

Больше вроде бы и никаких изменений.

Это в надежде на то, что бот будет ориентироваться на названия полей, и тогда проверка даст ошибку неверного email.



#46 valera

valera
  • Пользователь
  • 22 сообщений

Опубликовано 27.08.2015 - 21:26

А связи с этим мысль появилась - сделать проще, поменяв местами имена input-полей, например, так:

И при обработке

 

Это в надежде на то, что бот будет ориентироваться на названия полей, и тогда проверка даст ошибку неверного email.

 

кроме бота там человек есть... он посмотрит и поменяет настройки бота.. В варианте же DaVinci  

узнать заранее название поля нельзя.. 



#47 Maksclub

Maksclub

    Помогаю с Симплой

  • Фрилансер
  • 1 144 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 27.08.2015 - 21:38

А связи с этим мысль появилась - сделать проще, поменяв местами имена input-полей, например, так:

	<label>Имя, фамилия</label>
	<input name="email" type="text" value="{$name|escape}" data-format=".+" data-notice="Введите имя"/>
	
	<label>Email</label>
	<input name="name" type="text" value="{$email|escape}" data-format="email" data-notice="Введите email" />

И при обработке

 

    	$order->name        = $this->request->post('email');
    	$order->email       = $this->request->post('name');

Больше вроде бы и никаких изменений.

Это в надежде на то, что бот будет ориентироваться на названия полей, и тогда проверка даст ошибку неверного email.

 

Вот это я и подразумевал выше! ;) Только хитрее надо, что бы попеременно менялось на  (3-4 варианта названий)

Такое сложно сделать?



#48 Maksclub

Maksclub

    Помогаю с Симплой

  • Фрилансер
  • 1 144 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 27.08.2015 - 21:38

кроме бота там человек есть... он посмотрит и поменяет настройки бота.. В варианте же DaVinci  

узнать заранее название поля нельзя.. 

 

А можно все совместить, решение Корса и Давинчи?



#49 DaVinci

DaVinci
  • Фрилансер
  • 676 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 27.08.2015 - 21:40

еще есть вариант генерировать уникальный ключ для поля при определенных условиях

- в файле ajax/cart.php. если предположить что товар попадает в корзину вот таким образом demo.simplacms.ru/cart/?variant=12 то бот обходит человеческий путь


- при клике на ссылку "перейти в корзину" а при прямом обращении к корзине перебрасывать на главную. и лучше на период обильной атаки урезать прямое обращение к корзине

-----

и еще надо смотреть заходит ли бот на сайт как человек. для этого в письме заказа надо отправлять ип покупателя и проверять его в счетчике но скорее всего его там не будет


Изменено: DaVinci, 27.08.2015 - 21:49


#50 juve123

juve123
  • Пользователь
  • 14 сообщений
  • Пользователь

Опубликовано 27.08.2015 - 21:41

Сегодня в обед тоже пошли левые заказы, последний был в 21:28. У кого нибудь получилось от этого избавиться?



#51 DaVinci

DaVinci
  • Фрилансер
  • 676 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 27.08.2015 - 21:42

А связи с этим мысль появилась - сделать проще, поменяв местами имена input-полей, например, так:

	<label>Имя, фамилия</label>
	<input name="email" type="text" value="{$name|escape}" data-format=".+" data-notice="Введите имя"/>
	
	<label>Email</label>
	<input name="name" type="text" value="{$email|escape}" data-format="email" data-notice="Введите email" />

И при обработке

 

    	$order->name        = $this->request->post('email');
    	$order->email       = $this->request->post('name');

Больше вроде бы и никаких изменений.

Это в надежде на то, что бот будет ориентироваться на названия полей, и тогда проверка даст ошибку неверного email.

 

я не уловил суть. форма будет заполнена и отправлена по идее.


Изменено: DaVinci, 27.08.2015 - 21:47


#52 DaVinci

DaVinci
  • Фрилансер
  • 676 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 27.08.2015 - 21:50

Сегодня в обед тоже пошли левые заказы, последний был в 21:28. У кого нибудь получилось от этого избавиться?

 

сегодня сутра установил один из вариантов, подойдет нет для всех. на данный момент ни одного письма со спамом не пришло



#53 Maksclub

Maksclub

    Помогаю с Симплой

  • Фрилансер
  • 1 144 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 27.08.2015 - 21:52

я не уловил суть. форма будет заполнена и отправлена по идее.

 

 

сегодня сутра установил один из вариантов, подойдет нет для всех. на данный момент ни одного письма со спамом не пришло

 

Davinci, можно делать так? Стоит "фуфлыжная" форма, но нормальная подгружается ajax заменяя ""фуфлыжну только после того, как человек выбрал вариант доставки?!

 

А чтобы не запутать пользователей  "фуфлыжную" скрыть


Изменено: Maksclub, 27.08.2015 - 21:54


#54 Kors

Kors
  • Фрилансер
  • 3 522 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия

Опубликовано 27.08.2015 - 22:06

Davinci, можно делать так? Стоит "фуфлыжная" форма, но нормальная подгружается ajax заменяя ""фуфлыжну только после того, как человек выбрал вариант доставки?!
 
А чтобы не запутать пользователей  "фуфлыжную" скрыть

 

Можно, а почему ж нельзя?

А можно и попроще - форму оставить как есть, но добавить js.

1. jsперехватывает отправку,

2. js добавляет в форму параметр или еще что в форме меняет.

3. При обработке формы анализировать данные. Если при приеме не видно изменений из js, то форма отправлена не из браузера - так отсеивать фейк-заказы.



#55 DaVinci

DaVinci
  • Фрилансер
  • 676 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 27.08.2015 - 22:07

Davinci, можно делать так? Стоит "фуфлыжная" форма, но нормальная подгружается ajax заменяя ""фуфлыжну только после того, как человек выбрал вариант доставки?!

 

А чтобы не запутать пользователей  "фуфлыжную" скрыть

 

скорее всего это бот обойдет, тем более можно представить что пользователь заполнил форму, а потом выбрал доставку. тут возникает возня со всем этим делом.

 

вы хотите обмануть подменой бота, но человек, который устанавливает пресеты для бота, может выбрать сценарий заполнения формы, в таком случае это не сработает


Изменено: DaVinci, 27.08.2015 - 22:17


#56 juve123

juve123
  • Пользователь
  • 14 сообщений
  • Пользователь

Опубликовано 27.08.2015 - 22:13

сегодня сутра установил один из вариантов, подойдет нет для всех. на данный момент ни одного письма со спамом не пришло

Какой вариант поставил? Хотим установить на сайт дополнительные поля для бота, надеюсь поможет. Заказы у меня пока продолжаются, новый пришел в 21.56. 

Кстати, в Liveinternet пытался найти IP с которых идут заказы, но не отображает посещение, так же как  и метрика.


Изменено: juve123, 27.08.2015 - 22:14


#57 DaVinci

DaVinci
  • Фрилансер
  • 676 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 27.08.2015 - 22:14

Какой вариант поставил? Хотим установить на сайт дополнительные поля для бота, надеюсь поможет. Заказы у меня пока продолжаются, новый пришел в 21.56

 

вы пробовали мой пример, можно ссылку на сайт в личку?



#58 DaVinci

DaVinci
  • Фрилансер
  • 676 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 27.08.2015 - 22:24

еще как вариант пробуем отбить прямое обращение к корзине. боты разные бывают но если это обращается к корзине напрямую то пути ему не будет.

 

в CartView.php до require_once('View.php'); ставим
 

if(!isset($_SERVER['HTTP_REFERER']))
{
   header('location: /');
   exit();
}

Изменено: DaVinci, 27.08.2015 - 22:32


#59 DaVinci

DaVinci
  • Фрилансер
  • 676 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 27.08.2015 - 22:37

и не забываем отписываться о результатах



#60 ustasby

ustasby
  • Пользователь
  • 11 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия, Сочи

Опубликовано 28.08.2015 - 01:25

еще как вариант пробуем отбить прямое обращение к корзине. боты разные бывают но если это обращается к корзине напрямую то пути ему не будет.

 

в CartView.php до require_once('View.php'); ставим
 

if(!isset($_SERVER['HTTP_REFERER']))
{
   header('location: /');
   exit();
}

руки нужно по локоть отрубать за такие решения, любой, даже самый говняный бот от начинающего школьника не заметит твоих идей из прошлого века, а вот доставить боль владельцам магазина запросто, как и клиентам билайна, и других, которые срезают напрочь все заголовки запроса, я уже не говорю про тонны расширений "безопасности" у браузеров, которые клиенты так любят ставить. Спрашивается - зачем в профессию идти, может на завод?

 

ps

извините что грубо, но дилетантство в теме просто зашкаливает за разумные пределы. У бота цель сделать заказ, значит нужно сделать что бы он его получил, но не мешая работе магазина. И овцы целы и волки сыты.


Изменено: ustasby, 28.08.2015 - 01:39






Также с меткой «корзина заказ»

0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых