隐藏的HTML iframe

时间:2017-01-19 19:43:22

标签: javascript html security iframe

我有一个带iframe的页面,为了简化这种情况,我们假设它看起来像这样:

<!DOCTYPE html>
<html>
  <head>
    <title></title>
  </head>
  <body>
    <iframe src="http://example.com"></iframe>
  </body>
</html>

假设该页面在Internet上并且您输入该页面。它会在iframe中加载http://example.com

我想更改此内容,以便您无法看到http://example.com,因为您只能使用我的网页打开此地址,而不仅仅是将http://example.com放在webbrowser的第二个标签中。

我在页面来源中看到http://example.com(右键单击 - &gt;页面来源) 我还在开发人员工具的网络中看到浏览器向http://example.com发出请求。所以我只需复制这个地址并在新的webbrowser选项卡中打开它。

如果您无法知道地址,我应该怎么做:http://example.com

3 个答案:

答案 0 :(得分:1)

我能想到的唯一方法是,如果你屏幕刮掉代码中的页面并自己提供html。所以它看起来像这样:

  1. 有人向您的信息页提出请求
  2. 在您的后端代码中提供页面之前,您可以获取html example.com
  3. 提供后端请求中出现的html
  4. 这可能没有正确格式化,因为你缺少css或丢失功能,因为你缺少js但你只需要确保包含那些东西。

答案 1 :(得分:0)

IFrame是客户端。

这意味着对于浏览器呈现IFrame,它必须对客户端Web浏览器可见。 隐藏它的唯一方法是开发Web代理。

<!DOCTYPE html>
<html>
  <head>
    <title></title>
  </head>
  <body>
    <iframe src="grab_secret_site.php"></iframe>
  </body>
</html>

此处,grab_secret_site.php中的代码会向http://example.com发出HTTP请求以获取HTML。 An example here。但是,请记住,除非您重写它们,否则任何资源都不会加载。

e.g。

<img src=icon.jpg />

将指向您网站上的icon.jpg,而不是example.com

如果您不希望在没有父框架的情况下加载页面,您可以在外部页面中创建会话变量(例如PHP会话),然后在IFrame中进行检查。如果它不存在,请将用户重定向回外页。

答案 2 :(得分:-1)

有一个标题 - X-Frame-Options允许你阻止在iframe中打开页面,但是这样我认为这是不可能的。

相关问题