PayPal безопасность IPN

PayPal IPN отправляет запрос POST с переменным количеством полей к уведомлять URL, чтобы подтвердить, что запрос POST законен, мы должны повторно отправить тот же запрос наряду с дополнительным cmd=_notify-validate поле к PayPal, который затем отвечает VERIFIED или INVALID.

Мой вопрос, почему мы должны снова послать запрос PayPal? Разве что-то вроде этого не было бы достаточно?

if (preg_match('~^(?:.+[.])?paypal[.]com$~i', gethostbyaddr($_SERVER['REMOTE_ADDR'])) > 0)
{
    // request came from PayPal, it's legit.
}

Эквивалентность мы можем доверять серверу для корректного разрешения дюйм/с, я предполагаю, что мы можем доверять всем запросам из PayPal, нет?

7
задан Alix Axel 18 May 2010 в 12:50
поделиться

2 ответа

PayPal просто обеспечивает более высокий стандарт безопасности для вашего собственного сайта / приложения.

Подмена IP-адреса может легко обмануть ваш пример функции, поскольку использование одного только REMOTE_ADDRESS весьма уязвимо для атак.

Когда вы работаете с финансовыми транзакциями, безопасность имеет большое значение. Если я могу подделать запрос IPN, я могу обманом заставить ваш сайт / приложение выполнять ложные транзакции. Отправляя дополнительный запрос в известное и надежное место, мы получаем гораздо более высокий стандарт учетных данных, на основании которого можно действовать. В этом подтверждении отправляется весь исходный запрос IPN, чтобы PayPal мог проверить, что все детали транзакции действительно действительны, тем самым предотвращая атаку Man-in-the-Middle, при которой злоумышленник изменяет детали (например, изменяет цену или количество ) действительного запроса, отправленного из PayPal на ваш сервер.

5
ответ дан 6 December 2019 в 10:48
поделиться

Вот причина для ответа на POST, из IPN Guide:

Ваш слушатель должен отвечать на каждое сообщение. сообщение, независимо от того, собираетесь ли вы что-либо с ним делать. Если вы не ответили, PayPal считает, что сообщение не было получено и повторно отправляет сообщение. PayPal продолжает периодически отправлять сообщение повторно, пока ваш слушатель не отправит правильное сообщение обратно, хотя интервал между повторными сообщениями увеличивается с каждым раз.

IMPORTANT: PayPal ожидает получить ответ на сообщение IPN в течение 30 секунд.

1
ответ дан 6 December 2019 в 10:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: