3

我有以下情况: -

1)用户打开网页 test1.aspx 并单击 test1.aspx 上的某个按钮。点击后,用户被重定向到网页回调.aspx。
2)callback.aspx 使用 javascript 向另一台服务器(如 facebook 服务器)执行一些跨域 http 请求
3)callback.aspx 然后将收集到的数据(从另一台服务器)发送到网页 test2.aspx(简单的 web 表单发布)。

现在,我的问题是如何确保收集到 test2.aspx 的数据仅来自 callback.aspx 而不是其他任何地方。我的意思是任何黑客都可以通过 post 或 get request 向 test2.aspx 发送虚假数据。

callback.aspx 类似于身份验证脚本,如果它说是用户已通过身份验证,test2.aspx 必须相信用户已通过身份验证。基本上,我是使用 oauth-2.0 客户端流程的身份验证用户。

4

2 回答 2

2

从网页执行 HTTP 请求 - 通常称为“屏幕抓取”的任务 - 涉及向其他网站发出 HTTP 请求的服务器端代码,检索返回的结果,并以某种方式处理这些结果。例如,屏幕抓取通常用于从另一个站点抓取数据,例如从 Yahoo! 抓取 HTML。财务页面获取特定股票代码的当前股票价格。由于 WebClient 类,在 ASP.NET 中执行简单的 HTTP 请求只需要几行代码。此类位于 System.Net 命名空间中,提供少量属性和方法,可用于发出简单的 HTTP 请求。

http://www.4guysfromrolla.com/articles/102605-1.aspx

于 2013-02-12T14:50:52.453 回答
1

有很多可以达到这样的要求。首先想到的是加密从 callback.aspx 发送到 test2.aspx 的数据。如果您能够在 test2.aspx 中解密,那么您可以确定数据是好的。

于 2013-02-12T14:50:59.437 回答