参数在被加密和发送之前可能被篡改

问题描述:

我想将一个值表示一个金额传递给支付网关。大门的方式赋予了我使数据安全和防篡改的功能。问题是即时通讯从文本框中获取这个数量。通过使用fiddler并在请求前放置一个断点,甚至可以在数据到达服务器之前更改数据,并通过函数加密。因此,篡改后的值将被发送到支付网关。我使用ASP.net文本框用于获取客户想要捐赠的价值。参数在被加密和发送之前可能被篡改

+0

主要问题是您似乎在可编辑的字段中存储金额。你最好的选择是不使用文本框!也许你可以澄清什么细节正在发送到网关,为什么你需要把它放在一个文本框? –

+0

考虑使用https? ^^ –

+0

这就像说编辑文本框是篡改。您与网关的连接将是HTTPS,它在传输过程中提供安全性。 – Crowcoder

客户端上的任何东西都可以由客户端修改。值来自文本框的事实并不重要。

HTTPS不会改变客户端可以对其所需数据进行任何更改的事实。

您或者需要在服务器上加密和验证值,以便客户端无法更改它,或者使用服务器到服务器通信。

这取决于你的建筑物是什么类型的应用程序。

如果它像购物车(您不希望用户修改该值)的东西,请将总计存储在服务器上,并仅将值显示给客户端。请勿使用客户价值进行付款。 HTTPS不会保护您,因为客户端在发送之前仍然可以修改该值。

如果它需要一个用户提供的价值并对它进行收费(比如说一个发票系统),那么我假设你信任这个用户。在这种情况下,客户端可以修改数据并不重要(这就是您希望他们执行的操作)。在这种情况下,HTTPS将保护客户端和服务器之间的数据传输。任何在'线上'收听的人只会看到加密的流量。

您应该使用HTTPS连接到您的服务器(并从您的服务器到网关),只需注意限制。