我想将一个值(比如金额)传递给支付网关。网关为我提供了使数据安全和防篡改的功能。问题是我从文本框中提取了这个数量。通过使用提琴手并在请求之前放置断点,甚至可以在数据到达服务器之前更改数据并由函数加密。所以现在被篡改的值被发送到支付网关。我使用 ASP.net 文本框用于获取客户想要捐赠的价值。
问问题
154 次
2 回答
2
客户端上的任何内容都可以由客户端修改。值来自文本框这一事实并不重要。
HTTPS 不会改变客户端可以对其想要的数据进行任何更改的事实。
您要么需要对服务器上的值进行加密和身份验证,以便客户端无法更改它,要么使用服务器到服务器的通信。
于 2015-10-06T11:58:50.583 回答
0
这取决于您构建的应用程序类型。
如果它类似于购物车(您不希望用户修改值),请将总数存储在服务器上并仅向客户端显示该值。不要使用客户价值进行付款。HTTPS 不会在这里保护您,因为客户端仍然可以在发送之前修改该值。
如果它接受用户提供的价值并收取费用(例如发票系统),那么我假设您信任用户。在这种情况下,客户端可以修改数据并不重要(这就是您希望他们做的事情)。在这种情况下,HTTPS 将保护您在客户端和服务器之间传输的数据。任何在“在线”中收听的人都只会看到加密的流量。
您应该使用 HTTPS 连接到您的服务器(以及从您的服务器到网关),请注意这些限制。
于 2015-10-06T12:10:02.313 回答