2011-02-17 61 views
34

我有一個頁面,我不希望出站鏈接發送推薦人,因此目標網站不知道他們來自哪裏。停止發送推薦人到目的地的鏈接

我猜這是不可能的,但我只是想確保沒有任何隱藏的JavaScript魔法可以做到這一點,這將與一些(如果不是大多數)瀏覽器工作。

也許一些聰明的HTTP狀態碼重定向功夫?

像這樣的事情將是完美的

<a href="example.com" send_referrer="false">link</a> 

回答

4

我也想弄明白這一點。

我想到的解決方案是使用數據url來隱藏我來自的實際頁面。

<a href='data:text/html;charset=utf-8, <html><script>window.location = "http://google.ca";</script></html>'>Link</a> 

此鏈接打開一個頁面,只包含JavaScript來加載不同的頁面。 在我的測試中,沒有任何推薦人被授予最終目的地。我不知道它是否可以作爲引用來發送,如果它試過了,也許是數據網址?這不會放棄你從哪裏來。

這適用於Chrome。 Chrome是我目前唯一關心的問題,但是對於那些不喜歡JavaScript的瀏覽器來說,它是數據url的頁面。你也許可以嘗試一個元刷新。

+0

工作在鉻。不幸的是在Firefox。 – zaius 2013-01-11 08:03:48

8

Bigmack是在正確的軌道上,但JavaScript位置的變化仍然在Firefox中發送引用。使用元刷新似乎爲我解決了這個問題。

<a href='data:text/html;charset=utf-8, <html><meta http-equiv="refresh" content="0;URL=&#39;http://google.com/&#39;"></html>'>Link</a> 
+0

我相信這是Google爲gmail中的鏈接所做的 - 您點擊該鏈接,然後轉到一個空白的谷歌跟蹤頁面,其中包含一個元素刷新到您點擊的原始鏈接。 – wezell 2016-01-07 15:06:48

25

HTML 5包括rel="noreferrer",這是supported in all major browsers。因此,對於這些瀏覽器,你可以簡單的寫:

<a href="example.com" rel="noreferrer">link</a> 

也有適用於其他瀏覽器墊片:https://github.com/knu/noreferrer

+4

這個墊片的擡頭取決於$ .browser,它已被棄用。 – 2015-02-03 18:41:50

34

對於任何一個引薦破服務誰的訪問在2015年及以後,現在有一個適當的解決方案獲得支持。

的HTTP Referrer Policy spec可以控制引薦,發送的鏈接子資源(圖片,腳本,樣式表等),此刻,它的supported的火狐,Chrome和Opera。

<meta name="referrer" content="no-referrer"> 

(與舊版本的規範是由微軟邊緣和Safari支持,但我還沒有找到一個測試工作的方式來養活他們舊的語法,同時將一切新的語法。)

另外,如果你想將它應用到audioimglinkscriptvideo標籤引用需要CORS,不要忘了資源,還設置了crossorigin="anonymous"屬性對他們因此只有絕對最小值(該Origin標題)將被共享。

(同時使用CORS因爲遠程站點需要了解哪些域正在以允許或拒絕其請求無法擺脫Origin頭的。)

+0

注意:Chrome會出現此錯誤:`無法設置引薦來源策略:值'none'不是'always','default','never','no-referrer','no-referrer-when-downgrade ','origin','origin-when-crossorigin'或'unsafe-url'。這份文件的推薦人政策保持不變。'提到的'無'提示似乎是不正確的。 – 2016-06-29 13:16:14

0

除了信息已經提供。有關此主題的更多信息,請執行以下操作:https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer

如果您需要針對同源請求或跨源請求的不同規則,特別允許您發送或不發送引薦信息。

根據您的具體使用情況需要考慮的事情。也就是說,如果您從第三方網站獲取圖像/ css/javascript,那麼您可能不想識別您正在從中進行此操作的網址,因此會使用無引薦網址選項。而如果您從自己的網站鏈接到其他網站,則可能希望他們知道您正在向他們發送流量。始終考慮雙方的影響。如果這兩方面存在衝突,那麼還有其他一些選擇,例如將UTM跟蹤參數添加到URL的末尾,這對某些人來說可能會派上用場。全部細節在這裏:https://www.contradodigital.com/2014/06/03/importance-utm-tracking-parameters-social-media/