Blocking aggressive crawlers/scrapers/bots

有很多人喜歡用Blocking UA的方法,但很幸運的是,如果你使用了CF的CDN服務,那麼Cloudflare為我們提供了防火牆功能。

當你把你的網站放在CF的CDN後面,有許多增強的安全設置可以為我們所使用,其中一個就是根據UA來進行處置,Block或者Challenge,使用Challenge選項時,會首先到達一個驗證碼頁面,這個頁面,在大陸由百度雲加速提供,除大陸地區,由CF自己提供,這個Challenge頁面非常類似於常用的抗DOS設備的跳轉頁面,需要輸入驗證碼,或是使用js檢測瀏覽器完整性後,才會將用戶側瀏覽器傳遞到目的url。

但是,很多時候,一些非正式的bot,使用了各種千奇百怪的UA,比如華為和阿里巴巴,你們又沒有搜索引擎,抓來抓去抓什麼呢?這種時候,我覺得UA非常煩擾,於是我通常會將16位的B類地址段直接設置為需要Challenge,通常來講,既然它是bot,它就不可能完成Challenge。當然,還有一些俄羅斯和法國的惡意bots,通常也會加到Challenge的範圍,由於俄羅斯的實在是太多,乾脆就直接把Russia加進去。

通過以上的一些設置,整個服務器的負荷就小了很多,訪問量變成高峰期的三分之二左右。