如何在Web服务器上验证http请求

时间:2013-02-12 14:44:32

标签: asp.net html web webserver oauth-2.0

我有以下情况: -

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

现在,我的问题是我如何确保收集的数据转发到test2.aspx只来自callback.aspx,而不是其他任何地方。 我的意思是任何黑客都可以通过发帖或获取请求将错误数据发送到test2.aspx。

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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