Не доверяйте данным, полученным от клиента или как я купил кондиционер за 1 рубль
Пост ориентирован на программистов. Но и простому человеку, тем более который имеет свой бизнес и хочет выйти в интернет и продавать там, он пригодится для ознакомления как наглядное пособие тому, что заказывать разработку сайта лучше стоит у дорогих, но опытных разработчиков, нежели на каком нибудь сайте фрилансеров у школьников за 10к рублей.
Сейчас я Вам покажу как я купил кондиционер всего за 1 рубль. Поехали.
Заходим на сайт
Отлично. Скорей всего его нет в наличии. Иногда ставят цену 0. Но такой подход говорит, что у сайта нет нормальной cms или есть, но разработчик тупой. Поэтому манагеру пришлось выставить цену 1 рубль, а не отметить, что его нет в наличии. Сам факт - надо бы попробовать купить. Кнопки нет. Окай. Идем на страницу товара, который есть в наличии.
Например вот этот.
Отлично. Смотрим события на кнопке "купить".
Копируем код.
Не плохо. Понятно что за что отвечает. Осталось только подставить данные с нужной нам страницы. В итоге получаем это:
ID я взял с кнопки "запросить цену". Логично же, что оператору на почту должена упасть инфа о выбранном мною товаре. А значит через эту кнопку передается ID.
Вставляем код в консоль и исполняем. И получаем результат true!
Неожиданно. Ну окай. В корзине - так в корзине. Гоу покупать товар.
Все.
Компании повезло - у них нет подключенных платежных систем. В противном случае, если бы они были - я бы оплатил заказ в 1 рубль и на основании ЗоЗПП они обязаны были бы мне его привезти, т.к. товар я уже оплатил. Разумеется они начали бы говниться, вернули бы мне 1 рубль, я пошел бы в суд и через месяцев 4 я бы получил товар. Как раз к лету =)
Для тех кто не в курсе - почитайте отличный пост про подобные ситуации.
http://pikabu.ru/story/itogi_po_sluchayu_s_yeldorado_4151679
Что хочется сказать всем web разработчикам:
Господа. Я на примере Вам показал как я бы за 2 минуты обзавелся бы новым кондеем в случае рабочий paysystem.
Факт есть факт - из-за безответственности программиста компания могла бы потерпеть ущерб в размере ~92к рублей (инфа о цене взята с яндек маркета).
Будте внимательны, и делайте нормальные сайты!
З.Ы. Через минут 10, пока я писал пост, позвонил манагер =) Разговор можно послушать здесь.
З.Ы.З.Ы. Не рекламы ради, а ради фана скидываю логотип этого сайта.
Согласен с лозунгом - я сравнил и выбрал Вас =)
Ну, лень или недоработка программиста или менеджеров - это, конечно, нужно чинить.
А вот вы не боитесь что ваши действия могут быть расценены как взлом? Ведь само CMS вроде как тебе не позволяло добавить товар в корзину без манипуляций с кодом?
Да-да-да, там должна быть защита от подобных вещей и серверная часть по определению не должна доверять данным приходящим от клиентской части (т.е. браузера посетителя).
Но практика показывает, что даже если вы сообщите о такой ошибке то добрые дяденьки могут настучать по голове вместо благодарности, ибо "не просили проводить аудит безопасности".
Они бы доказали что ты мошенническими действиями получил возможность добавить товар в корзину.
В твоем примере который ты привел про оферту - есть кнопка купить, а у тебя тут на сайте нету. Значит законной сделкой это не назовешь.
Автор имеет склонность к мошенническим операциям!
ЗоЗПП защищает добросовестных покупателей, а конкретная ситуация подстроена. Возможности заказать за один рубль не было на сайте, и автор своей "башковитостью" устроил такую возможность, так что насчет суда и кондея к лету это большой еще вопрос.
В случае разбирательства в суде, выяснилось бы, что вы делали заказ не штатными средствами, а с использованием уязвимости. Отсутствие кнопки "купить" тому подтверждение.
Также
УК РФ, Статья 159.6. Мошенничество в сфере компьютерной информации
В случае с "Эльдорадо" кнопка "купить" была
В вашем случае вы предприняли действия для обхода отсутствия этой кнопки.
ИМХО, вам повезло, что вы не оплатили и не пошли судиться.
И да, программеры недоглядели, все данные надо проверять, это их косяк.
звонит менеджер из магазина, и говорит, что товар закончился, , вот прямо перед вами последний забрали, база ещё не успела обновиться, или остался последний, но неработоспособный. под заказ этот товар недоступен - нет его у поставщиков. поэтому мы вынуждены вернуть вам деньги. всё. и никакой зопп не заставит их продавать то, чего у них нет.