2012-12-05 188 views
0

可能重复:
access parent url from iframe检测客户端域名

目前我有一个iframe标签,例如:

<iframe src="www.mydomain.com/animation.html></iframe> 

...,我想我的客户嵌入此标记呈现在他们的页面上,但是我想只提供一些域名列表在我的数据库中呈现此iframe,所以如何我可不可以做。谢谢

+1

你说你希望你的“animation.html”页面来检测时,它被包含在一个iframe,并进一步检测的iframe包含在页面的域名?当然是 – nnnnnn

+0

了。在检测到“animation.html”嵌入的域后,我会让我的代码与我的列表进行比较。 –

回答

0

您可以使用parse_url。它帮助你检测域

0

解决方案1: 你可以做到这一点通过使它们的IP地址,并禁止所有其他IP地址,只需要创建.htaccess文件,并在其中添加以下规则。

order deny,allow 
deny from all 
allow from 111.222.333.444 

解决方案2:第二个申请限制 方法是使用PHP文件,而不是一个平面的HTML文件,并添加任何种类的限制的话,请参阅下面

// animation.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;?> 
+0

iframe请求来自单个用户的浏览器位置,而不是来自主机页面的域。 – jfriend00

+0

@ jfriend00答案完全符合相关要求。 Pon Somean说:“我只想在我的数据库中提供一些域名列表来呈现这个iframe” –

+0

OP对这个问题并不十分清楚,但我认为他们意味着他们想控制哪个域的网页可以嵌入他们的iframe 。 – jfriend00

0

如果你希望限制哪些网站可以包括iframe中你的页面,你可以伸手独特标记到各个领域;每个域的代码是这样的:

<iframe src="http://mydomain.com/animation.html?token=absfqeqwe"></iframe> 

这只是提出了一个小障碍,有人可能会简单地从你的合法网站的一个复制它,然后用它自己。

我个人并不认为这是可行的。