2013-02-12 62 views
3

我有以下情况: -如何验证Web服务器上的http请求

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客户端流的身份验证用户。

+0

没有办法使用客户端。客户端脚本和值都是来自控制台的视图 – Dineshkani 2013-02-13 15:58:17

回答

2

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

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

+0

嗨,其实我没有从服务器端请求,但客户端使用javascript.Can你可以相应地帮助我吗? – Arsalan 2013-02-12 16:32:08

1

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

+0

嗨,感谢您的回复。加密需要密钥,我们必须在客户端进行加密,任何黑客都可以从源头获得密钥。 – Arsalan 2013-02-12 15:02:55

相关问题