Прошу пояснить каким образом убедиться в том, что отправителем формы подтверждения платежа является именно сервер WM, а не злоумышленник.
Наличие там хэша параметров по алгоритму md5 доказывает лишь то, что параметры не были изменены, но этого мало. Нужно еще подписать этот хэш закрытым ключом WM, чтобы можно было убедиться в том что эти параметры посланы сервером WM.
Ведь если я знаю Ваш URL, который принимает параметры формы подтверждения платежа, то я соврешенно легко могу послать ему свои параметры с правильным хэшем. И как вы отличите мою посылку от посылки WM?
В примере проверяется ТОЛЬКО правильность хэша.
Или я чего-то не понимаю, или одно из двух...
Прошу просветить.
Спасибо.
Как проверить подтверждение платежа без ЭЦП?
Автор Al Mal, фев 21 2007 18:51
2 ответов в данной теме
#1 Пользователь
Отправлено 21 февраля 2007 - 18:51
#2 Знаток
Отправлено 27 февраля 2007 - 12:45
Внимательнее читайте раздел "Контрольная подпись данных о платеже".
...
При формировании контрольной подписи сервис Web Merchant Interface "склеивает" значения полей, передаваемых "Формой оповещения о платеже", в одну строку в следующем порядке:
...
8. Secret Key (LMI_SECRET_KEY); - "секретный ключ" знаете только Вы и сервер merchant.
...
А значит, если хэш правильная, то сформировал его или Вы или сервер.
...
При формировании контрольной подписи сервис Web Merchant Interface "склеивает" значения полей, передаваемых "Формой оповещения о платеже", в одну строку в следующем порядке:
...
8. Secret Key (LMI_SECRET_KEY); - "секретный ключ" знаете только Вы и сервер merchant.
...
А значит, если хэш правильная, то сформировал его или Вы или сервер.
#3 Продвинутый пользователь
Отправлено 01 марта 2007 - 03:04
Secret Key (LMI_SECRET_KEY); - "секретный ключ" Вы получите если у вас есть https. Не думаю что он есть у многих. Так что выход только один проверять все данные и прятать результ куда подальше от чужих глаз.