【问题标题】:Determine if object/embed is forbidden?确定对象/嵌入是否被禁止?
【发布时间】:2014-09-24 14:17:52
【问题描述】:

您可能知道 HN,但您可能也不喜欢在许多选项卡中单击/前后移动的事实。我想制作一些页面,其中包含来自 HN 的网页和链接。所以我做了这个:http://goodfrontpage.com/direct

但是有两个问题: 第一:如何确定一个页面是否不允许在它的 http-headers 中以这样的方式打开它:

<iframe class="webpage" src="{{post.url}}" ></iframe>

或者这个:

<object class="webpage" data="http://asfasfasfa.com" >
<embed class="webpage" src="http://asfasffvasf.com" > </embed> 
Error: Webpage not accessible!
</object>

对于 github.com、eff.org 或 youtube.com 之类的页面来说是这样的

第二:有没有可能以不同的方式获取网站,让我显示所有页面?

【问题讨论】:

    标签: javascript html object embed


    【解决方案1】:

    如果您想在另一个网页中嵌入网页,则应使用iframe 元素:

    <iframe src="http://asfasffvasf.com"/>
    

    您可以像任何其他块元素一样设置它的样式,并设置明确的宽度和高度。


    有些页面要求浏览器不要将它们包含在 iframe 中(使用 X-Frame-Options header)。我认为在客户端没有简单的方法来解决这个问题,但是您可以创建一个简单的后端或代理来请求您想要的页面并返回内容。这绕过了iframe 限制,因为您现在包含了来自您自己域的内容。

    这确实有几个安全问题需要注意:

    • 您现在已经创建了一个后端,可用于下载 Internet 上的任何页面。如果有人发出大量请求以下载大页面,则会出现拒绝服务漏洞。

    • 您所包含的页面将不再受same origin policy 的限制。这些页面上的脚本将能够与父页面上的所有内容进行交互。如果您计划在未来创建登录功能,这可能是个问题。

    【讨论】:

    • 对我来说,它的工作方式与我的解决方案完全相同,但问题是:某些页面(youtube、github、eff)不允许我这样展示他们的页面......另一个页面。你有什么想法来捕捉那个错误吗? /谢谢
    【解决方案2】:

    您似乎正在寻找iframe 属性。它指定了一个内联框架。

    An inline frame is used to embed another document within the current HTML document.
    
    <iframe src="http://asfasfasfa.com"></iframe>
    

    【讨论】:

      猜你喜欢
      • 2015-02-27
      • 2012-06-13
      • 1970-01-01
      • 2022-01-16
      • 2011-12-12
      • 1970-01-01
      • 2018-05-25
      • 2015-03-14
      • 1970-01-01
      相关资源
      最近更新 更多