可能重复:
从 iframe 访问父 url
我目前有一个 iframe 标签,例如:
<iframe src="www.mydomain.com/animation.html></iframe>
...我希望我的客户嵌入这个标签以呈现在他们的页面上,但是我只想在我的数据库中提供一些域名列表来呈现这个 iframe,所以我该怎么做。谢谢
可能重复:
从 iframe 访问父 url
我目前有一个 iframe 标签,例如:
<iframe src="www.mydomain.com/animation.html></iframe>
...我希望我的客户嵌入这个标签以呈现在他们的页面上,但是我只想在我的数据库中提供一些域名列表来呈现这个 iframe,所以我该怎么做。谢谢
如果您想限制哪些网站可以将您的页面包含在 iframe 中,您可以向每个域分发唯一令牌;每个域的代码如下所示:
<iframe src="http://mydomain.com/animation.html?token=absfqeqwe"></iframe>
这只是设置了一个小障碍,有人可以简单地从您的一个合法站点复制它,然后自己使用它。
个人认为这是不可行的。
解决方案 1: 您可以通过允许他们的 IP 地址并禁止所有其他 IP 来做到这一点,只需创建 .htaccess 文件并在其中添加以下规则。
order deny,allow
deny from all
allow from 111.222.333.444
解决方案2: 第二种应用限制的方法是使用PHP文件而不是平面HTML文件并在其中添加任何类型的限制,请参见下面的代码
// 动画.php
<?php
$allowed_domains = array(
'www.example-1.com',
'www.example-2.com',
'www.example-3.com',
);
if (in_array($_SERVER['SERVER_NAME'], $allowed_domains)) : ?>
Your I-frame content goes here!
<?php endif;?>
许多浏览器都支持这里x-frame-options header
描述的。这允许您列出可以构成您的页面的可接受域。
这里的一些其他讨论:Frame Buster Buster ...需要破坏代码
您可以使用parse_url。它可以帮助您检测域