2012-10-14 21 views
1

最近我的網站內容被很多其他網站盜用。如果iframe被其他域用來顯示我的網站,如何重定向到錯誤頁面

他們所做的只是創建一個我的網站的iframe,並顯示他們的域的具體數據,以獲得高流量。當我發現時,我試圖用htaccessmeta標籤來封鎖它。

他們濫用的我的網頁是一個包含來自子目錄的iframe的html頁面。 他們不使用該iframe,而是他們針對html頁面的其他內容,但我的技術阻止不起作用在Firefox,它也阻止我的iframe。它在Google Chrome和Internet Explorer中運行良好。

.htaccess設置 - 工作在Firefox,但不是在谷歌Chrome和Internet Explorer,也不會從同一個域顯示我的iframe:

Header set X-Frame-Options DENY 
Header always append X-Frame-Options SAMEORIGIN 

我的Meta設置 - 這適用於所有瀏覽器,除了Firefox:

<meta http-equiv="X-Frame-Options" content="deny"> 

我已經這樣做了,暫時阻止我的內容在其他網站上使用。 我想要重定向到我的自定義頁面,或者當用戶點擊內部框架重定向。歡迎任何更好的想法。

+0

請不要混淆Java與JavaScript。不同的語言。 –

+0

好吧好吧抱歉忘了.. –

回答

2

的I幀的內容協商是由客戶端(瀏覽器)完全處理。客戶端決定是否顯示iframe的內容以及是否履行選項(某些瀏覽器可能不會)。

就htaccess而言,服務器不知道頁面請求之間的區別,因爲有人直接訪問頁面,並且請求嵌入在iframe中的頁面,所以沒有太多可以在htaccess文件中做,以防止通過iframe加載頁面。

你可以嘗試一些不同的東西,其中大部分可以規避:

  1. 創建頁面的單獨的空間,你不介意iframe中存在,其他任何地方,使用SAMEORIGIN

  2. 爲了所有你不想被嵌入在iframe,檢查引用者,當它被嵌入的iframe重定向到一個自定義頁面的網頁:

    RewriteEngine On 
    RewriteCond %{HTTP_REFERER} !^$ 
    RewriteCond %{HTTP_REFERER} !^http://your-website.com 
    RewriteRule^/custom_page.html [L,R=302] 
    
  3. 不要使用內置頁框,並且無處不在設置SAMEORIGIN標頭。

+0

你的第二步導致錯誤加載圖像的方法。 –

+0

@NasirUddin這是一個例子,你必須定製正則表達式(這在我的例子中只是'^'),以防止你想要加載到其他人的iframe中。如果你想排除圖像,然後改變'^'爲'!\。(jpe?g | png | gif | ico | css | js)$'或其他東西 –

+0

是的,謝謝你,我會一直銘記在心。 –

1

一種方式來做到這一點是突破出來的幀由通過JavaScript將用戶重定向到您的網站:

if (top.location != location) { 
    top.location.href = document.location.href; 
} 
+1

哪個會打出他自己的iframe – mplungjan

+0

這也是一種保護XFS – ted

相關問題