2015-07-13 141 views
1

假设我们有两个网站:AB如何找出哪个网站使用iframe显示我的网站

在网站上A有一个嵌入式iframe链接到网站B(网站A是服务网站B使用iframe)。

有没有一种方法,网站B知道网站A正在为它提供服务,以及如何使用PHP获取该信息?我想知道网站A的域名和IP地址。

所以我的问题是,我不知道我的网站将在哪里服务,但我只想知道是谁在服务它。

有一种方法可以为iframe url提供URL获取参数。例如

<iframe src="http://mywebsite.com?url=commingFromWebsiteB"></iframe> 

这样我可以检查,如果此iframe是在B网站使用下面的代码内嵌:

$sourceWebsite=$_GET['url']; 

但问题是网站B的是管理员,可以复制并粘贴此iframe在网站C上,即使iframe现在显示在网站C上,并且这不是我的合作伙伴,请将url参数等于'commingFromWebsiteB'。

Thx!

+0

http://stackoverflow.com/questions/15662627/how-to-know -if-a-website-still-put-my-iframe-on-his-her-website – Maurize

+0

你可以使用一些标记变量和url作为查询字符串。 –

+0

@maurize问题不一样。在粘贴的问题中,用户知道iframe的网站,因此他可以使用cURL或任何其他方法进行检查,并且我不知道网站URL和IP地址。我的问题在sql语言中说:选择使用iframe显示我的网站的所有网站._ – MrD

回答

1

那么你可以检查推荐人。通过黑名单或白名单。 这个例子适用于黑名单,如果你知道“小偷”。

<script type="text/javascript"> 
if(document.referrer.indexOf("otherdomain.com") != -1) { 
    window.location = "yourdomain.com/error.html"; 
} 
</script> 

,另一方面也可以在PHP中创建一个白名单,并尝试检查之前是这样的:

$show = false; 
if (isset($_SERVER['HTTP_REFERER'])) { 
    $array = parse_url($_SERVER['HTTP_REFERER']); 
    if (strpos($array['host'], 'yourdomain.com') === false){ 
     $show = false; 
    } else { 
     $show = true; 
    } 
} 

if ($show == false){ 
    header('HTTP/1.0 403 Forbidden'); 
    exit('Forbidden'); 
} 
+0

嗯也许这是一个很好的解决方案,但我想我会采用其他方法。 – MrD

相关问题