fbpx

如何阻擋網站被 7headlines 等類似的網站用 iframe 嵌入?

2014/04/17 網頁相關

最近阿湯身邊的朋友也開始在問有關 7headlines 這種網站的事情,類似的網站其實有不少,共同的特點就是都是用 iframe 的方式嵌入別人的網站,雖然這樣做不違法,但基於道德問題,這樣跟盜別人文章沒什麼二樣,是很不可取的行為,如果你的網站也深受其害,阿湯這邊整理了一下對付的方式,讓這些 iframe 的頁面能真正的導回你的網站,一起來杜絕這些可惡的網站吧。

如何查詢你的網站有沒有被 iframe 嵌入?

這邊先以最近較常看到的 7headlines 為例,你只要到 Google 搜尋輸入以下文字搜尋即可。

網站名稱 site:www.7headlines.com

網站名稱請改成你自己的,立刻就可以搜尋到有沒有了,如果你要搜別的網站有沒有嵌入你的網站就替換一下 7headlines 的網址,以此類推。

00

如何阻擋其它網站 iframe 嵌入你的網站?

阿湯這邊提出三種方式來做,不論你選哪一種方法,要加語法的話,給大家一些參考,如果像是痞客邦、Blogger 這一類的網站,請直接把語法加到你網站側邊欄任一個文字區塊就可以了,如果你是 WordPress 一樣可以加文字方塊到側邊欄,換言之,只要加到網站每一頁都能讀取到語法的位置就可以了。

而以下提供的任一個方法,並不是直接讓別人不能 iframe 你的網頁,而是讓 iframe 的那個頁面直接跳回你的網站,好像很饒舌,我們來看看示範。

這是沒有阻擋的結果:請點我

有阻擋的結果:請點我 (會跳轉到原始網站)

註:只要支援 javascript 語法的網站應該都能使用。

一、阻擋所有的網站:

第一個作法是阻擋全部的網站,只要加了這一段,所有的網站都不能用 iframe 語法嵌你網站的任一頁面,但這種做法有時也會有缺點,在使用一些翻譯網頁的工具時,可能會造成一些影響,另外也不能在你自己的網站用 iframe 嵌入你自己的網頁。

<script>
//<![CDATA[
if (top.location != location ) {
    top.location.href = location.href;
}
//]]>
</script>

 

二、指定允許的網站:

在看過第一種之後,如果你確認你有需要排除的網站,比如像自己的網址要排除,或者在哪邊也需要 iframe 嵌入的話,就可以加入你允許 iframe 的網址,比如以下語法,就是允許 steachs.com 及 google.com 可以 iframe 你的網頁,相信只要再比對一下就會看出添加規則,其實就是第一種方法的語法裡,在 top.location != location 的後面加上下面標示紅字的部份「&& document.referrer.search("steachs.com") < 0」,需要允許多個,就無限往後加上去,其中的「steachs.com」是阿湯的網址,請改成你要允許的網址

<script>
//<![CDATA[
if (top.location != location && document.referrer.search("steachs.com") < 0 && document.referrer.search("google.com") < 0) {
top.location.href = location.href;
}
//]]>
</script>

 

三、指定排除的網站:

既然第一種可以排除全部網站,第二種方式也提到了允許部份,那如果我只想排除部份網站可以嗎?當然是可以的,在仔細看過第二種方式後,我們也可以來看一下第三種方式的規則,一樣在第一種方法的語法,在 top.location != location 的後面加東西,但這次有點不太一樣,如果你只有想要排除「一個網站」,比如排除「7headlines.com」,排除第一個網站要加上紅字的部份「&& document.referrer.search("7headlines.com") > 0」,如果要排除多個網站,第二個之後一律都是用藍字的部份「|| document.referrer.search("funp.com") > 0」,以此類推。

註:7headlines.com 或 funp.com 都只是舉例,請改成你要排除的網址。

<script>
//<![CDATA[
if (top.location != location && document.referrer.search("7headlines.com") > 0 || document.referrer.search("funp.com") > 0) {
top.location.href = location.href;
}
//]]>
</script>

這類網站真的很不可取,大家一起動手來杜絕吧!

你可能對這些內容也有興趣

阿湯 作者:阿湯

對電腦 & 網路資訊充滿興趣與熱情、瘋了似的每日堅持發文,「阿湯」這個名字是由湯姆克魯斯而來的,雖然我沒有他帥氣,也不會演電影,但我會寫文章....

更多關於的文章》

5 個留言

  1. Avatar 風之水表示:

    請問,跳回網站如果我設定的網頁是在資料夾「new」底下,但是我的網站首頁是根目錄,如果盜連的人嵌入我的網頁是在new資料夾裡面的網頁,那樣用上面的方法跳回去就是回到「http://我的域名/new」,而不是到我的首頁,請問我應該修改哪一部分才可以導向我想要的網頁?
    我用的方法是第2種,有成功不過就如同上方敘述。

    阿湯 說:

    你網站不是已經在根目錄,為什麼還有 new 底下?

  2. Avatar Kids Must表示:

    我的網站最近又被7Headline iframe嵌入,謝謝你提供的方法

    阿湯 說:

    請慢用

  3. Avatar 李严隆表示:

    额。。。你上面给的第2个网址(http://vez.cc/check.php?u=http%3A%2F%2Fwww.7headlines.com%2Farticle%2Fshow%2F416478584 ),有阻挡

    可是我打开后并没有转跳。。。

    阿湯 說:

    再點前往哦

  4. Avatar WalesYu表示:

    試試看將你的body 加上 display:none; ,然後在script 裡面寫一個讓它顯示的script,
    例如:
    document.body.style.display = “block”;

    如果不允許javascript就連內文都不給他看,消極的反抗一下

    阿湯 說:

    也太消極..XDD

  5. Avatar Jack表示:

    阿湯您好,我的網站最近被可惡的內容收集者iframe,對方用了html5的sandbox屬性,不允許我的網站使用javascript,您上面提到的方
    法就沒用了,請問您有相應之道嗎

    阿湯 說:

    能否給我網址看看?

發表留言 »

姓名(*)
信箱(*)