http://www.youtube.com/html5Добавлено спустя 42 минуты 31 секунду:rfc1 писал(а):
Есть расширение для Firefox - Tamper Data
Перехватывает процесс загрузки страницы, позволяет "подменить" функции и применить их к действию. Это выгодно, когда покупаешь что-то через Интернет - просто меняшь сумму на другую и всё.
Примерно как работает:
http://www.youtube.com/watch?v=O3c-wE_864kЗа такое могут в тюрьму посадить?
Да ты можешь сохранить страницу, отредактировать код и послать какой надо запрос.
Вот только в нормальных магазинах ничего не сделаешь этим.
От пользователя, по сути, отправляются только идентификаторы товаров для добавления в корзину. А сервер знает цену и посчитает стоимость к оплате.
Если это не так, то это дыра в системе. Надо драть программиста.
Добавлено спустя 18 минут 15 секунд:Посмотрел видео. Да, это косяк программиста.
И тут можно без всяких плагинов сделать. Сохранить страницу и исправить.
Я тоже делал интернет-магазин, поэтому знаком с ситуацией.
Оплата работает так - есть форма на сайте с ценой, номером заказа и прочей инфой.
Человек меняет цену и отправляет форму на сайт банка, где надо ввести данные карты.
При успешной оплате банк посылает на сайт запрос, в котором сообщает что заказ с таким-то номером был оплачен. Кроме этого посылает сумму, id транзакции итд.
Так вот на сайте магазина не проверяют оплаченную сумму заказа. Просто проверяется что пришло уведомление об оплате такого-то номера заказа.
Решить можно либо добавлением проверки суммы.
Либо через HMAC авторизацию, которую все нормальные процессинговые центры поддерживают.
Я использовал hmac.
При этом в форму добавляется хэш, который генерируется на основе цены, номера заказа, лимита времени. Шифруется с помощью секретного ключа, который хранится на сайте магазина.
Код:
.....
.....
<input type="hidden" name="PurchaseAmt" value="2320.00" /> - цена
<input type="hidden" name="PurchaseDesc" value="1733" /> - номер заказа
<input type="hidden" name="MerchantID" value="000001280220001-80120001" /> - номер магазина
<input type="hidden" name="HMAC" value="P4W6hZ/6qSXNy/LVlZ60hcSI55BARcz3yPZ16DoLOrY=" /> - хэш код кодирован в base64
Если в этом запросе изменить цену или номер заказа. То надо генерировать новый хэш код. Иначе банк не примет оплату. А чтоб сгенерировать, надо знать секретный ключ