【问题标题】:Prevent Yahoo OpenID from redirecting the page阻止 Yahoo OpenID 重定向页面
【发布时间】:2012-12-05 09:29:59
【问题描述】:

我想在 iframe 中托管 yahoo open-id 登录。但是,一旦 yahoo 页面加载,它就会执行以下 javascript:

<script type="text/javascript">if(top == self)
{ document.write("") } else
{ top.location.href = "http://www.yahoo.com" }</script> 

换句话说,它重定向整个页面(不仅仅是 iframe)。我怎样才能防止这种重定向(除了所有法律问题!)?

【问题讨论】:

    标签: javascript html iframe openid


    【解决方案1】:

    雅虎阻止你这样做是绝对正确的;所有 OpenID 提供者都应该这样做。

    将 OpenID 放在框架中意味着没有可见的地址栏意味着无法保证 OpenID 登录表单实际上来自 Yahoo;事实上,它看起来像是来自您的 网站。试图避免被钓鱼的用户应该永远在这样的表单中输入他们的密码。 OpenID 的全部意义在于,它可以保证您的身份,而无需您向每个要登录的站点提供密码。

    所以,不,你不能阻止它。

    【讨论】:

    • 我认为供应商应该阻止这种情况是正确的。现在改变我的观点:我碰巧想要他们不想要的东西。只是帮我做。伤害在哪里?
    • 这是不可能的,如果能做到,那将是雅虎必须修复的一个安全漏洞。或者你想让我为你破解雅虎的服务器并改变它? :-)
    • 如果我的搜索结果为空,我会回复您的报价;-)
    【解决方案2】:

    我认为这不是您应该正确实现它的方式,并且该代码存在是有原因的。你去过http://developer.yahoo.com/openid/吗?

    【讨论】:

    • 我知道我应该做什么。我只是想换一种方式。
    • 也许你需要以某种方式来做这件事是有原因的?
    • 老实说...您不应该也不能更改 iframe 中托管的外部域中的代码。
    • 为了方便用户,我只想将 openid 显示在 iframe 中。我不是什么骗子……
    • 为什么不能以官方和支持的方式进行?
    【解决方案3】:

    您是否尝试过将其添加到您的外框: &lt;body onbeforeunload="return 'click cancel';"&gt;&lt;/body&gt;

    【讨论】:

      猜你喜欢
      • 2012-11-22
      • 2015-10-05
      • 1970-01-01
      • 1970-01-01
      • 2014-10-15
      • 1970-01-01
      • 2016-03-15
      • 1970-01-01
      • 2013-08-07
      相关资源
      最近更新 更多