首頁 部落格 三招對付惡意網頁點擊機器人
Advan
Jan 18, 2019
iWare與RATC的系統工程師,專長為Linux及Windows伺服器建構維護、VMware虛擬化技術、Microsoft Azure雲端資源規劃。喜好旅遊、攝影,正在計畫下一次的旅程

三招對付惡意網頁點擊機器人

機器人也會逛網站?這個其實是網路上十分常見的現象,根據統計,百分之六十的網站流量是機器人(bot)造成的。善意的機器人如Googlebot,就負責每天收集數以億計的網站資料,是Google搜尋引擎更新的最重要幫手。既然有善良的機器人,自然就有惡意的機器人。

惡意網站瀏覽機器人的目的是什麼?大多是收集資料,用來寄發大量的垃圾郵件;或是垃圾留言,將一些毒賭色的訊息放在無辜的網站上;甚至,惡意機器人可以自動點擊廣告,用於消耗對手的網路廣告預算;尋找網站的弱點加以攻擊竊取網站資料...惡意機器人是很嚴肅的資安問題,必須認真地看待這個問題。

以下我們根據各國網路安全專家,找出了對抗網路惡意機器人的幾個技巧:

 

第一招:封鎖特定瀏覽器版本

根據資安專家分析,部分的惡意軟體開啟大量的瀏覽器,到你的網站恣意進行惡意行為,影響了網站的頻寬與效能,或是達到其他的惡意目的。

資安專家發現,有部分的攻擊工具,使用了老舊而未更新的瀏覽器版本。以今天是場三大瀏覽器品牌:Chrome、Firefox、Safari來說,多已經具備了自動更新版本的功能,若「使用者」使用過期數個月、甚至數年的瀏覽器進入你的網站,其實是一件極度不尋常的事情。

更進一步的說,你可以透過Google Analytics的「技術」內的「瀏覽器」版本檢視,看看用戶使用的瀏覽器版本,如果你的網站有某個特定版本的老舊瀏覽器,瀏覽率過高但停留時間過短,那就可以合理的懷疑是來自於機器人的惡意點擊了。

那麼如何拒絕過老舊的瀏覽器版本訪問網站呢?技術層面上,透過Javascript的方式判斷瀏覽器的版本後,就可以進行下一個行動,例如拒絕執行、導向到其他的網站都沒問題的。

 

第二招:封鎖特定來源的連結

有時候你的網站流量飆高,是因為有人將您的網站分享到其他的社群或論壇,然後引發大量的瀏覽。有時轉貼網址的行為是善意的,也有可能是惡意的,如果是後者,你可以透過網路的手段來拒絕這類的流量。

如何得知流量特定的來源?有時透過Google Analytics的報告,可以找出你的流量來源參考連結(Referral)來自何方,如果來源是來自於惡意的網站,那麼你是有機會阻擋該網站的。

一個有經驗的網站系統管理者,可以透過修改網站上的htaccess的檔案,阻擋特定的IP位置進入網站,也可以阻止特定來源的流量進來你的網站。

但IP位置是可變動的,十分難以設立規則阻止瀏覽,但是來自於特定網站的惡意流量,由於Google Analytics是以及其他反向連結(Backlink)的工具是可以檢測得到的,因此是有可能排除掉的。

也有管理者分享透過Google Analytics的過濾器(Filter)方式,可以過濾掉特定的流量來源干擾你的數據判讀,不過功能就僅止於此。Google Analytics過濾器確實可以讓網站統計數據趨於正常,但這無法拒絕惡意的網站流量開啟你的網站。

 


第三招:導入Google的reCaptcha  V3

如果上述的方式仍沒辦法拒絕惡意的機器人來訪,那麼Google的reCaptcha  V3可能是你的唯一救星。

大家應該都有看過Google的reCaptcha  V1與V2,像是「打勾確認我不是機器人」,或是「照片中找出汽車」之類的小測試,雖然對人類來說不是什麼太困難的問題,但仍然是干擾用戶體驗的一種設計。但是最新一代的reCaptcha V3,不用打勾勾,也不用看圖猜迷,而是隱形的,那他是怎麼偵測你的訪客是真人還是機器人呢?

他的運作方式是將程式碼埋入你的網站後,透過城市分析瀏覽者的「互動」並且給予分數,進入reCaptcha控制台後,就可以看到網站用戶的分數,最低分為0.1到最高分為1分,如果被判定為0.1分的用戶幾乎可以被認定為機器人,至於0.9分以上的就幾乎肯定是真人。你可以根據報告決定哪一些分數的用戶可以正常執行網站,哪一些分數的用戶排除在外,維持一定的規則彈性。

reCaptcha V3的最大優點是不影響瀏覽體驗下,就能夠阻擋惡意機器人的來訪,而reCaptcha V3的Admin Console有提供類似Google Analytics圖形介面,提供分析的報表。不過這項技術安裝在網站上需要一些技巧,這一點需要專業的前端/後端工程師來進行,才能正確地讓網站受到保護。受到保護的網站會顯示Google reCaptcha的Logo,相信日後聰明的機器人看到了這個符號,應該會自己乖乖地離開網站吧。

JavaScript 宣告: var、let、const
JavaScript 宣告: var、let、const
Trista
Trista
Dec 19, 2017
後端工程師的三個階段
後端工程師的三個階段
Joe
Joe
Nov 16, 2017
製作網站不用錢?Wordpress優缺點老實說
製作網站不用錢?Wordpress優缺點老實說
Ryan
Ryan
Sep 05, 2019