【问题标题】:Stop Javascript Redirect in Pop-Up Window在弹出窗口中停止 Javascript 重定向
【发布时间】:2010-07-29 17:03:42
【问题描述】:

我在我的一个应用程序中使用 Telerik RadWindow 控件。当用户想要为应用程序授权 Twitter 时,窗口会显示 Twitter 的 OAuth 对话框。

但是,每次我显示 Twitter OAuth 的弹出窗口,甚至只是普通的 Twitter 页面时,整个浏览器都会被重定向。

当 URL 指向 Twitter 以外的站点时,该控件可以正常工作。我想看看我是否可以阻止该重定向,或者是否有更简单的方法来完成 OAuth 确认。任何有关如何实现此功能的建议将不胜感激。

提前致谢。

【问题讨论】:

  • 如果我正确解释了您的问题,这种行为难道不是出于安全考虑吗?让用户知道他们真的登录 Twitter,而不是您的网站伪造 Twitter 以嗅探密码?

标签: javascript asp.net twitter oauth telerik


【解决方案1】:

此行为可能是由 Twitter 引起的。事实上,它也应该发生在许多其他网站上(Facebook 和类似网站)。为了防止恶意网站窃取用户密码,登录页面会检测它是否显示在内联框架(IFRAME 元素,例如 RadWindow 中使用的元素)中,如果是,则重定向整个浏览器窗口。通过这种方式,他们可以确保在用户输入用户名和密码时不会运行恶意 JavaScript。

【讨论】:

    【解决方案2】:

    Twitter 已正确创建其授权页面以防止跨站点脚本攻击,这意味着您无法将其嵌入框架或 javascript 弹出窗口中。

    不幸的是,“授权”的唯一其他方式是完全重定向,或者使用弹出窗口,假设您的用户允许弹出窗口。

    弹出窗口的问题在于,当 twitter 重定向回您的应用程序时,您需要一种“关闭”它的方法。可以做到,但做起来有点棘手,谁知道它是否可以在多个浏览器中工作。最好暂时让您的网站进行完全重定向。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-18
      • 1970-01-01
      • 1970-01-01
      • 2011-08-28
      • 1970-01-01
      • 1970-01-01
      • 2017-11-28
      相关资源
      最近更新 更多