/ / Можете ли да удостоверите автентично заявка чрез IP? - php, security, payment-gateway

Можете ли да удостоверите надеждно заявка чрез IP? - php, сигурност, платежен шлюз

В момента интегрирам NAB Transactпортал за плащане в магазин за електронна търговия. След като плащането е обработено, системата NAB Transact изпраща POST заявка до нашата крайна точка, за да обработим резултата.

Проблемът е, че POST заявката не съдържасигурен хеш / маркер, който можем да използваме, за да публикуваме обратно в NAB Transact системата, за да удостоверим, че заявката е реална и не е подправена. Дори по-лошо, системата NAB Transact дори няма API за удостоверяване на всяка информация, по същество много лоша сигурност!

Има ли начин за сигурно удостоверяване на тяхискания? Например, проверка дали заявките идват от списък с известни IP адреси, с които работи транзакционната система NAB? Или обратно търсене IP? Какви опции има и как бихте реализирали това в PHP?

Не разчитате ли на IP удостоверяване, че не е сигурно, тъй като може да бъде подправено?

Отговори:

0 за отговор № 1

Проблемът е, че POST заявката не съдържа защитен хеш / токен които можем да използваме, за да публикуваме обратно към системата NAB Transact удостоверява, че заявката е реална и не е подправена

Да - това е проблемът:

Не разчитате на IP удостоверяване, че не е сигурно, тъй като може да бъде подменен?

Това не е на всички безопасни!


1 за отговор № 2

Удостоверяването въз основа на IP адреси е чудесно, ако:

  • познава списъка с IP адреси (т.е. използваните от доставчика на платежни услуги)
  • IP адресите са статични (очевидно, но ако заявката действително е изпратена от доставчика, а не чрез скрита форма на страницата „успешно плащане“, която е „случай“
  • те незабавно ви уведомяват за всякакви промени (или вашият скрипт може да отхвърли валидни заявки или да приеме заявки от IP адреси, които вече не се използват от доставчика)
  • всички системи, които могат да използват IP адреса (т.е. сървърите на доставчика на плащания, които приемат, че центърът на данни не използва някакво дръзко мрежово конфигуриране, са достатъчно надеждни, за да не изпращат неверни уведомления.

Спуфинг на изходния IP не е възможен, тъй като TCP използва трипосочно ръкостискане и с подправен IP ръкостискане ще се провали.

Така че основно: Удостоверяването по IP е приемливо, ако са изпълнени някои основни критерии (вж. По-горе), но разбира се ще бъде по-сигурно, ако ви предоставят начин за валидиране на уведомлението - или чрез извикване на API от тяхна страна, или чрез използване на криптографски подпис (по-добре, тъй като не може да се провали поради недостигащ отдалечен сървър).