2015-07-13 79 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

相關問題