Rou1997
@Rou1997

API "онлайн-касс": Можно ли при подтверждении оплаты (типа IPN) проверять IP отправителя, вместо проверки подписи запроса?

При успешной оплате, сам сервер "онлайн-кассы" как правило отправляет HTTP-запрос на заданный (в Личном кабинете или непосредственно при запросе) адрес подтверждения на сайте магазина, а пользователь перенаправляется на другой URL, который просто содержит сообщение об успешной оплате.

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

Поэтому в том скрипте перед вставкой в БД (для собственно подтверждения) крайне желательна какая-то проверка, самые верные варианты:
1) проверка "подписи" запроса, у Тинькова он называется "токен" и т.п. Составить его по определенному алгоритму из имеющихся данных, и сверить с пришедшим в запросе
2) проверка IP отправителя - настоящие IP серверов "кассы" есть в открытом доступе, в документации API

Очевидно, что второе реализуется гораздо проще и быстрее, оно довольно универсально, если работать с разными "кассами" и разными серверными ЯП, то упрощение задачи налицо.

Но стоит ли верить?
Были ли преценденты, чтобы IP менялись со временем?
  • Вопрос задан
  • 754 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы