我目前正在将NAB Transact支付网关整合到电子商务商店中。付款处理完毕后,NAB Transact系统会向我们的终端发送POST请求,以便我们处理结果。
问题是POST请求不包含我们可以用来回发到NAB Transact系统的安全散列/令牌,以验证请求是真实的而不是欺骗。更糟糕的是,NAB Transact系统甚至没有用于任何信息认证的API,本质上是非常糟糕的安全性!
有没有办法安全地验证这些请求?例如,检查请求是否来自NAB交易系统运行的已知IP地址列表?或反向查找IP?有哪些选项以及如何在PHP中实现它?
不依赖于IP身份验证并不安全,因为它可能会被欺骗吗?
答案 0 :(得分:1)
如果您:
,基于IP地址的身份验证就可以了由于TCP使用三次握手并且使用欺骗性IP,握手将失败,因此无法欺骗源IP。
所以基本上:如果满足某些基本标准(见上文),通过IP进行身份验证是可以接受的,但当然如果他们为您提供了验证通知的方法,那么通过调用他们身边的API会更安全或者使用加密签名(更好,因为它不会因无法访问的远程服务器而失败)。
答案 1 :(得分:0)
问题是POST请求不包含安全散列/令牌 我们可以用来回发到NAB Transact系统 验证请求是真实的而不是欺骗
是的 - 这是一个问题好吧:)。
不依赖于IP身份验证而不是那么安全,因为它可以 欺骗?
一点也不安全!