我有一个带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
答案 0 :(得分:1)
我能想到的唯一方法是,如果你屏幕刮掉代码中的页面并自己提供html。所以它看起来像这样:
这可能没有正确格式化,因为你缺少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中打开页面,但是这样我认为这是不可能的。