gpt4 book ai didi

c# - 保护来自第三方网站的返回查询字符串

转载 作者:太空宇宙 更新时间:2023-11-03 11:25:51 26 4
gpt4 key购买 nike

因此,我正在我的网站上使用 2co 实现支付系统。我正在使用他们的“Header Redirect”,它会在成功付款后将客户返回到我网站上的带有一堆查询字符串的 ASPX 页面。

无论如何,我想知道。确保这一点的正确方法是什么?如果客户自己键入参数,例如“Payment.aspx?params-here”,并根据需要向其帐户添加信用,会发生什么情况。

我如何确保这是 100% 正品?

建议?谢谢!

最佳答案

parameter tampering 的解决方法通常将查询参数映射到一些不容易操作的东西,例如通过使用单向哈希函数创建摘要以与原始参数一起发送并限制特定映射/摘要有效的持续时间。如果摘要与查询参数匹配,您就知道请求未被篡改。

例如你的网址

Payment.aspx?Amount=100

可以变成

Payment.aspx?Amount=100&Digest=53e5e07397f7f01c2b276af813901c2

这是一篇关于该主题的旧但仍然相关的详细文章:Passing Tamper-Proof QueryString Parameters

在 ASP.NET 中,您可以使用 Page.EnableEventValidation它使用隐藏的文本框作为表单的一部分来验证请求是从表单发出的:

When the EnableEventValidation property is set to true, ASP.NET validates that a control event originated from the user interface that was rendered by that control. A control registers its events during rendering and then validates the events during postback or callback handling. For example, if a list control includes options numbered 1, 2, or 3 when the page is rendered, and if a postback request is received specifying option number 4, ASP.NET raises an exception. All event-driven controls in ASP.NET use this feature by default.

关于c# - 保护来自第三方网站的返回查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9346284/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com