【问题标题】:How to authenticate http request on web server如何在 Web 服务器上验证 http 请求
【发布时间】:2013-01-27 21:52:15
【问题描述】:

我有以下场景:-

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

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

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

【问题讨论】:

  • 无法使用客户端。客户端脚本和值都是从控制台查看

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


【解决方案1】:

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

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

【讨论】:

  • 嗨,实际上我不是从服务器端发出请求,而是在客户端使用javascript。你能帮我吗?
【解决方案2】:

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

【讨论】:

  • 您好,感谢您的回复。加密需要密钥,我们必须在客户端加密,任何黑客都可以从源头获取密钥。
猜你喜欢
  • 1970-01-01
  • 2017-04-02
  • 2023-03-24
  • 2012-04-08
  • 2022-06-13
  • 2015-04-23
  • 2011-09-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多