【问题标题】:What ways can you secure a web page so that it can ONLY be viewed from within an iFrame?有哪些方法可以保护网页,使其只能从 iFrame 中查看?
【发布时间】:2012-01-12 20:43:56
【问题描述】:

这个帖子创建于 2008 年 Restricting IFRAME access in PHP

我希望做几乎完全相同的事情。即,我希望拥有可公开访问的网站,只要它们是从特定 iFrame 或特定应用程序中查看的。 IFrame 应用程序将具有用户身份验证,使他们能够访问核心应用程序之外的 url。 url 很可能都是使用开源 PHP 工具构建的,例如WordPress。

查看的 iFrame 和查看的网站/页面都归我们所有。

在过去几年中,在实现这一目标方面是否有任何进展?

由于与此特定问题无关的各种原因,我正在考虑使用服务器端 RIA 框架 Vaadin (JAVA) 来构建将包含 iFrame 查看器的应用程序。

嵌入小部件的演示在这里http://demo.vaadin.com/sampler#WebEmbed查看页面源我没有看到任何地方显示嵌入网页的地址。所以在某种程度上我想知道我是否可以从搜索引擎中隐藏我的 url,给它们很长的随机生成的 URI,也许它们无论如何都找不到?

【问题讨论】:

    标签: security iframe vaadin


    【解决方案1】:

    您应该能够修改framekiller 来做相反的事情。 framekiller 是一段 javascript,通过检测页面是否已在 iframe 中加载来防止点击劫持。

    将 iframe 限制在特定页面内加载更加困难。查看referer很容易,但也很容易绕过。如果您从 https 页面加载 iframe,则引用者将为空白。更好的方法是要求服务器获取 Nonce 并将其包含在 iframe url 中。例如http://iframe_url?key=difhj8j84528423j423894hfdj897 或其他。让服务器向您的服务器发出请求将是理想的。使用客户端代码和 jsonp 来获取 nonce 是有问题的,因为攻击者可以提供修改后的 javascript 来获取 nonce。

    【讨论】:

    • 感谢您的回复。所以你说这可能吗?在服务器和系统外的应用程序之间使用某种加密技术。
    • 您是否还说使用位于服务器端的 Vaadin 会是一种更好的方法,因为它会受到客户端的保护?
    猜你喜欢
    • 2014-09-06
    • 2022-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-05
    • 2014-12-07
    • 2012-09-07
    相关资源
    最近更新 更多