2016年1月7日 星期四

Alexa:User Agent, Header 以及 Robot

有裝 Alexa Plugin 的使用者,Alexa 會監聽你所有的活動,然後傳送給 Alexa , Alexa 以此來計算網站的排行榜。

有安裝 Alexa 的使用者

Firefox 有安裝的話, User Agent 會變成
Mozilla/5.0 (Windows NT 5.1; rv:42.0) Gecko/20100101 Firefox/42.0 AlexaToolbar/p_O9Nqgf-2.1
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0 AlexaToolbar/alxf-2.21

Chrome 有裝的話,會多一個 Header
Alexatoolbar-Alx_Ns_Ph: AlexaToolbar/alxg-3.3

問題來了,這個是不合法的 Header ,Key 名稱不可以有 _
所以在 nginx 預設會砍掉不合法的 Header,要加上這個設定
ignore_invalid_headers off;
才能在 PHP  的 $_SERVER 變數中抓到。

Alexa Bot

Alexa 的 未認證使用者,bot 會是
Mozilla/5.0 (compatible; alexa site audit/1.0; +http://www.alexa.com/help/webmasters; )

Alexa 的 已認證使用者,bot 會是
Mozilla/5.0 (compatible; Alexabot/1.0; +http://www.alexa.com/help/certifyscan; certifyscan@alexa.com)


結論

我自己不喜歡 Alexa ,以前老闆規定要安裝,但看它的 permission 很可怕,如果 Alexa 被駭了,你所有網站的帳密也會被跟著監聽。
所以就讓有安裝 Alexa 的使用者多看幾頁吧!(誤)