為什麼知乎的外鏈鏈接都要加上「https://link.zhihu.com/?target=」?

直接把鏈接弄上去多好啊,現在為了跳轉這一下,卡到不行,還經常502,搞到我總是要自己複製後面的鏈接,人肉unescape,然後貼近瀏覽器里,煩死了。


a. 統計分析

知乎可以據此統計有多少用戶點了外鏈,都鏈去哪裡了。

b. 隱藏來源

據親測,302 跳轉的時候不會帶 Referer 請求頭。也就是說,外鏈網站無從得知你是從知乎來的。

c. 搜索引擎優化

可能有 SEO 方面的考慮,避免外鏈網站的權重影響知乎。

感覺不靠譜,現在加上 rel="nofollow" 就可以了嘛。

d. 過濾

有答主提到控制不和諧的外鏈,逗我←_←

但可能確實有安全性的考慮,比如屏蔽釣魚網站、 CRLF 攻擊等。

Disclaimer: 利益無關,純屬瞎猜。


我的答案的確偏題了。個人認為如果是只為了統計數據,在頁面前端記錄用戶行為,把這些行為數據發送到獨立的統計伺服器(俗稱打點)更合適。而知乎已經有了這種 analytics 服務了,所以應該不是這個原因。

感覺和搜索引擎權重有關。

下面是偏題的內容:

可以用我寫的 Chrome 擴展 meowtec/Owl-redirector · GitHub 啊。

添加這樣一條規則就可以:

https://link.zhihu.com/?target=*

function(url) {
return decodeURIComponent(url.split(target=)[1])
}

以後打開這樣的鏈接直接在本地就重定向了。

圖示:

突然想到輪子哥應該不用 Chrome......


1- 跳轉統計。

2- 能夠對目標網站做過濾。

|===============

看了其它的答案,針對統計分析、跳轉、SEO等角度來分析了原因,我再提供角度,那就是 過濾、輿情的輔助監控和控制。

如果仔細留心,大家都可以發現絕大部分的互聯網應用,都對鏈接進行了處理。

比如QQ、微信聊天中的鏈接,豆瓣網頁上的鏈接,都和zhihu做了類似的處理。

這樣的處理,就是很好的對目標的採集,也是跳轉路徑上的把握。

比如,如果一個URL的訪問突增,那麼就要關注,是不是什麼輿情事件。

如果目標的內容,不受法律法規允許,或者大boss 認為這個非法,那麼網站應該有手段把 這個鏈路關掉。這一點上,網站和 IM之類的還不同。IM之類的,把這個URL作為敏感詞,無法發送就是了。

但如果已經有某個回答 寫入了這個URL,zhihu 能夠做的最有效率的辦法,就是 通過http://link.zhihu.com 切斷對目標的跳轉。同時,在我們點擊這個鏈接的時候,http://link.zhihu.com 也就知道了 從哪個問題、哪個回答下,誰點擊了這個鏈接,因為 zhihu的COOKIE是寫 http://zhihu.com下的,http://link.zhihu.com上也能得到相關的COOKIE。

再有,zhihu 作為流量大戶,如果某一天和A網站 勢如水火,那好吧,就別想著從這裡跳過去A網站了。

|===============

再分享一下,看到其它的回答中說,使用SSL提高安全,但SSL的安全性,在於可以提高 他人對通信內容的竊聽和篡改 的技術門檻。

即SSL是通信層上的策略,對於傳輸的內容,SSL是無感知的。

同時,因為SSL的證書籤發是有固定的幾個機構才能進行,所以,有SSL的網站,在身份上,會相對可以信任。

而我們討論的XSS、CSRF、CRLF等等手段,都是偽造請求串來實現,也就是說,這些是在 SSL的層次之上,SSL對這些攻擊手段,是沒有太多作用的。

XSS 是因為網站自身的漏洞,常見的情形,是對於鏈接提交的參數和腳本不加過濾和轉義導致的。

CSRF 這種跨站攻擊也是和SSL沒有關係,他是利用網站的漏洞,竊取用戶的cookie來獲取授權。

|===============

瀏覽器打開一個HTTPS的網站,可能會有告警。

瀏覽器的這個告警,並不是因為目標網頁的內容上存在安全漏洞、或者不良信息,而是因為 瀏覽器認為 目標網站的 HTTPS 證書是非法的。

網路上的HTTPS的證書,並不是所有的人都能配置的,而是向某些公司來購買的,這些公司負責簽發HTTPS證書,並承諾自己的證書的安全性。

當瀏覽器打開一個HTTPS時,會下載目標站點的證書,並識別證書內的屬性,找到目標的CA進行驗證,如果驗證不通過,或者是已經過期,就會有 瀏覽器的告警?

同時,根據HTTPS的規範,所有HTTPS引用的資源,都應該是 HTTPS 。

如果引用了HTTP的資源,就會觸發這樣的告警。

SSL對目標資源是否安全,是否存在漏洞,一無所知。

|===============

對於釣魚網站:

從技術手段上來講,SSL並不能根治釣魚網站。

釣魚網站的手段往往是使用了一個 假的域名,但是頁面和 對方網站都很相像,來欺騙用戶,信以為真,然後提交自己的敏感信息,比如用戶名、密碼,來實現盜取。

釣魚網站,完全可以自己去申請一個合法證書。

SSL對於釣魚網站的預防,在於 購買合法的證書,是要成本的,並且要做很多的信息備案。

這個對於不法分子來說,是不願意的。

|===============

微信盜號鏈接這個事情,只能說微信自己倒霉。

第一,這個鏈接是安全的,也是合法HTTPS的。任何合法的瀏覽器,都會完成對HTTPS的檢查,這些都沒有告警,說明目標鏈接的身份是安全的。

第二,這個地址,是微信PRO公開課一個的小活動,所以也沒有做很好的頁面引導。但被人分享之後,迅速擴散,蝴蝶效應。

擴散之後,產生了大量的訪問。因為這個請求並不是靜態頁面,需要對已經登錄的用戶信息進行查詢和統計,所以響應變慢,就被人攻擊為 【正在盜取】。

第三,這個網址,如果copy到手機的瀏覽器,比如 safari中,或者是在PC上打開,是什麼內容都沒有的,因為沒有登錄狀態,這個鏈接就會立刻輸出 【讓數據飛一會兒】。


用 Redirector, 支持 Chrome 和 firefox.

Chrome: Redirector - Chrome Web Store

Firefox: Redirector :: Add-ons for Firefox


有4個好處

1 安全 直接跳轉的話第三方網站會得到用戶正在瀏覽的知乎頁面的URL 有可能會造成用戶信息泄露等安全和隱私問題 有了跳轉頁這個可以屏蔽掉這種問題

2 方便添加黑白名單控制 不讓用戶跳到某些站點

3 方便做一些自有統計

4 在搜索引擎規則里, 如果你所鏈向的網站受到了降權, 那麼你也會有被降權的風險, 使用中轉域名跳轉也可以避免主域名產生這樣的風險

test: https://www.baidu.com/


推薦閱讀:

知乎精選(http://www.zhihujingxuan.com)是知乎官方製作的網站嗎?
知乎小管家工作筆記:7 月第 2 周站務處理簡報
怎樣畫好劉看山?

TAG:知乎 | 互聯網 | 計算機網路 |