我使用服務在客戶端的內容已準備好並顯示在iframe中。客戶端然後複製一個基本的iframe html標籤並將其粘貼到他們的網頁中。有些客戶抱怨其他網站正在複製iframe標籤並將其粘貼到他們的網站中。如何限制iframe從外部網站到特定域的顯示
是否可以限制iframe的內容顯示到特定的域或域?也許通過編程告訴iframe其父代必須是some-domain.com或者不顯示。
這是否有意義?我有時可能太冗長。
我使用服務在客戶端的內容已準備好並顯示在iframe中。客戶端然後複製一個基本的iframe html標籤並將其粘貼到他們的網頁中。有些客戶抱怨其他網站正在複製iframe標籤並將其粘貼到他們的網站中。如何限制iframe從外部網站到特定域的顯示
是否可以限制iframe的內容顯示到特定的域或域?也許通過編程告訴iframe其父代必須是some-domain.com或者不顯示。
這是否有意義?我有時可能太冗長。
您可以使用.htaccess(假設原始內容位於Apache服務器上)來限制對特定IP的訪問。
或者,如果頁面是一個PHP,你可以把它限制在一個特定的領域,如:
<?php
$continue = 0;
if(isset($_SERVER['HTTP_REFERER'])) {
//correct domain:
$ar=parse_url($_SERVER['HTTP_REFERER']);
if(strpos($ar['host'], 'yourdomain.com') === false){
} else {
$continue = 1;
}
}
if($continue == 0){
header('HTTP/1.0 403 Forbidden');
exit('Forbidden');
}
?>
聽起來就像是更好地做服務器端檢查 - 你可以檢查對iFrame的標記一個有效域名(或父域名)的列表,如果它們無效則拒絕它。
在將iFrame注入頁面之前,您可以在javascript中完成上述所有操作,但是如果javascript關閉,您的驗證將不起作用,更不用說客戶端上的開發工具可以修改任何javascript。
這需要在內容網站上完成,無論是通過服務器端腳本,服務器配置還是一個JavaScript,但正如你所說,如果它關閉,那麼該選項將不起作用。 – jackJoe 2011-03-07 19:47:38
你在這裏做一個_huge_的假設,即可以像這樣修改web服務器。 – Oded 2011-03-07 19:42:46
@Oded作出了什麼假設?該引用者是正確的?請解釋。 – Marci 2011-03-07 19:57:28
@Marci - 他假設你可以訪問並更改'.htaccess'文件(並且你使用的是Apache)。 – Oded 2011-03-07 19:58:52