CloudFlare 5秒盾 破解! challenge by pass! 成功突破防火牆! 爬蟲、機器人

CloudFlare 5秒盾 破解! challenge by pass! 成功突破防火牆! 爬蟲、機器人

近期在撰寫爬蟲機器人,發現許多網站都裝上了CloudFlare的防火牆,其中5秒盾是最難攻克的一環。
5秒盾的工作原理是,一旦他覺得你可疑,就會把頁面跳到challenge.html,透過Javascript等待5秒,並且重新送出表單逼你按確定。
才可以重新進入網站。

我試過建立完整的HTTPHEADER以及user-agent依然沒用,還是會被跳轉到challenge.html。
用網路找來的透過第三方網站幫你計算Javascript的五秒盾解密也是失敗。
就算用python的webbrowser先開啟Firefox來破解五秒盾後再進網站有時還是會失敗。

至於PHP,原本想法是先用A.php去取得cloudflare的cookie後,再把這個數值換到B.php身上,再訪問網站,依然失敗。
Cloudflare不虧是世界大站,防火牆等級很高XD

但即使如此,我還是發現了可用的方法!

原理說明:
1.訪問目標網站時,若對方開啟cloudflarfe的網站,這時瀏覽器會取得一組「app_session」的cookie

2.cloudflare會針對這組cookie進行檢測,判斷是否有正常訪問和更新。
3.如果「app_session」未有資料,或是進行不正常訪問,頁面就轉到challenge.html去做驗證。

根據上述,會發現關鍵在於「app_session」有持續更新,所以我的作法如下,以php Curl為例:

1.先用Firefox開啟目標網站,取得完整的cookie值以及User-Agent資料
2.把取得的cookie值,套進curl裡面的「curl_setopt($ch, CURLOPT_COOKIE, $setcookie);」$setcookie這個參數。
3.把取得的User-agent資料,套進curl裡面的「curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);」$headers這個參數。

基本上php修改成這樣就可以了。接下來才是關鍵!

4.Firefox安裝套件 Tab Reloader (page auto refresh)
5.Firefox在目標網站啟動Tab Reloader (page auto refresh)這個擴充套件,並且做下圖設定。

Enable Reloader for this tab 及 Bypass form submission: 要啟用,秒數設定10秒。

如此一來,剛剛得到的「app_session」這組資料就會不斷地被更新,也就比較不容易被轉到challenge.html去做驗證。
Firefox跟php不需要同一個IP,換句話說,你可以透過A電腦開啟firefox取得app_session後,拿到B電腦去用。
只要A電腦的有持續更新app_session就可以了。

===2020/01/03補充====
最好是拿兩種瀏覽器如 Chrome及Firefox 同時進行重新整理動作。

上面這個方法我已經測試了24H*14天,目前一切都正常,未有被檔死的經驗。
有被擋過數次,但很快透過Firefox的autorefresh功能後就會通過驗證了。

以上,如果您有更好的方法,也歡迎在下方留言交流!

StarryDNS 香港VPS 2019 黑色星期五特價!KVM每個月10美金

StarryDNS 香港VPS 2019 黑色星期五特價!KVM每個月10美金

因為網站有連線到中國的需求,但又卡在ICP備案的問題,因此香港的主機往往是連線到中國最佳的機房。
個人使用StarryDNS這家主機商已經兩年多,有許多問題幾乎都在十分鐘內回覆解決。
站長不接業配,也不愛業配,這邊附上我的訂購紀錄跟問答紀錄,可以看到他們都很快地處理。

今天要分享的是,2019 黑色星期五,StarryDNS也很阿莎力給了將近3.5折的特價!!!
雖然我消息晚了,但還是有搶到一台!可選擇香港/荷蘭/新加坡/日本/洛杉磯機房 (發文的當天日本已經賣完了,但日本我推薦Linode的)
下面分享兩款主機規格跟價格。

CPU:1核
內存:1GB
硬碟:50GB / RAID10
流量:500GB / 100Mbps
架構:KVM
IP /面板:1IPv4 / SolusVM
價格:HKD 280/年 ,購買鏈接

CPU:3核
內存:3GB
硬碟:100GB / RAID10
流量:1.2TB / 100Mbps
架構:KVM
IP /面板:1IPv4 / SolusVM
價格:HKD 77/月 ,購買鏈接

重點是,我原本有一台3G-OVZ架構的VPS,明年六月到期,年繳價格是HKD 1133。
我租這台3G-KVM架構的VPS,年繳只要HKD 770!
當然立馬換啦XDD,但原本的還沒到期怎麼辦?又不想同時擁有兩台。
寫信給客服後,他們提供按比例退款,WOW~ 所以我拿回了HKD 591,重新訂購HKD 770一年!

超級划算。

這家真是超級佛心,又很敢給的優質VPS商。五星推薦
黑五特價購買連結點我