我有以下情况: -
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 :(得分:2)
从网页执行HTTP请求 - 通常称为“屏幕抓取”的任务 - 涉及服务器端代码向某个其他网站发出HTTP请求,检索返回的结果,并以某种方式处理这些结果。例如,屏幕抓取通常用于从其他站点获取数据,例如从Yahoo!抓取HTML。财务页面以获取特定股票代码的当前股票价格。由于WebClient类,在ASP.NET中执行简单的HTTP请求只需要几行代码。在System.Net命名空间中找到的这个类提供了少量用于发出简单HTTP请求的属性和方法。
答案 1 :(得分:1)
有许多要达到这样的要求。首先想到的是将您从callback.aspx发送到test2.aspx的数据加密。如果你能够在test2.aspx中解密,那么你确定数据是好的。