本篇文章更新時間:2019/02/16
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣 或 新台幣 贊助支持。
昨天滑Facebook看到 WordPress 社群中有人提出他的網站服務正在遭受阻斷服務攻擊(DDoS),這是一種藉由大量請求,導致伺服器效能緊繃無法服務正常人
的一種攻擊手法。
而CC 攻擊
的手法說白了就是躲在代理伺服器(Proxy)後面來發送請求,因為代理伺服器的list不少,請求的資源也廣(尤其針對內容農場這類網站),這樣使得 hacker 的 pattern 難以確認,無法針對攻擊做黑名單組檔。
那怎辦哩~
省錢版
其實答案在第一段就出現了XD 那就是只給正常人
服務阿! 註冊時常見的CAPTCHA驗證碼就是一種機制,但每個瀏覽都要先掛上這功能根本擾民,還不如把系統給關了。
所以用只有正常人瀏覽情境下才會產生的資料來做驗證,說穿了就是在前端瀏覽器與使用者執行互動下的產物-> Cookie
建立起與瀏覽器溝通的密碼,來阻擋只是請求資源並不打算好好看網站的惡意用戶(同時也對爬蟲Crawler有效),不過這邊要注意,不是說加了這道防線就可以完全阻擋攻擊,而是增加攻擊的難度
!
上次看到社群中有人自行開發了一套確認網站存活的網站,當下因為無聊,來幫忙
測試
寫了一個的Crawler,結果也觀察到他在防惡意用戶的手段是透過Server端產生的key來驗證服務請求,還不錯。(有趣的案例也不能打出來太多資訊,不然還真是造成人家困擾了)
為甚麼說只是增加攻擊難度? 因為儘管上面提到的案例有這麼做,我也還是可以為了要突破而去寫出相對應的工具。
下面是社群中那個人自己解了的做法範例,我這邊做一點優化調整
';
exit();
}
}
//到這邊就是正常人才看得到的資訊了
echo "{$reqMethod}, {$reqIP}, {$clientKey}";
對於用戶體驗上來說只是在初次瀏覽時很快速的重新整理
一下,若是系統內容本來就是要登入後才能看的,直接導向到登入頁面也是合情合理~
上面只是其中一種解法,端看要玩的花樣,費功一點就乾脆設計隨機選擇某個方法,搞到想hack網站的人看到就懶這樣XD
錢多好辦事版
Load Balancer 開下去,看是他請求的多還是你錢多這樣!! 哈哈哈,我想 老闆應該還是叫你選上面的辦法解決。(默)