Cloudflare ਦੇ ਫ੍ਰੀ ਪਲਾਨ 'ਤੇ ਸਕ੍ਰੇਪਰ ਦਾ ਹੜ੍ਹ: ਕੀ ਰੁਕਿਆ, ਅਤੇ ਅਸੀਂ ਕੀ ਬੰਦ ਛੱਡ ਦਿੱਤਾ
Ops
ਇੱਕ ਸਵੇਰ ਸਾਡੀ ਇੱਕ ਲਿਸਟਿੰਗ ਸਾਈਟ ਖੁੱਲ੍ਹਣੀ ਬੰਦ ਹੋ ਗਈ। Cloudflare ਨੇ ਵਿਜ਼ਿਟਰਾਂ ਨੂੰ 524 ਦਿਖਾਇਆ, ਓਰਿਜਿਨ ਨੂੰ ਪ੍ਰਤੀ ਪੇਜ ਦੋ ਤੋਂ ਛੇ ਮਿੰਟ ਲੱਗੇ, ਅਤੇ ਲਗਭਗ ਦਸ ਘੰਟਿਆਂ ਤੱਕ ਸਾਨੂੰ ਕੁਝ ਨਹੀਂ ਦੱਸਿਆ। ਕਾਰਨ ਰੈਜ਼ੀਡੈਂਸ਼ੀਅਲ ਪ੍ਰਾਕਸੀਜ਼ ਰਾਹੀਂ ਲਗਭਗ 225 ਰਿਕਵੈਸਟ ਪ੍ਰਤੀ ਸਕਿੰਟ 'ਤੇ ਜਾ ਰਿਹਾ ਇੱਕ ਸਕ੍ਰੇਪਰ ਸੀ।
ਹੜ੍ਹ ਦੀ ਸ਼ਕਲ
- ਹਜ਼ਾਰਾਂ ਪਤੇ, ਹਰੇਕ ਤੋਂ ਇੱਕ ਤੋਂ ਤਿੰਨ ਰਿਕਵੈਸਟ। ਅਮਰੀਕਾ, ਸਪੇਨ, ਫਰਾਂਸ, ਬ੍ਰਾਜ਼ੀਲ, ਯੂਕੇ ਅਤੇ ਹੋਰ ਥਾਵਾਂ 'ਤੇ ਘਰੇਲੂ ਬ੍ਰੌਡਬੈਂਡ ਕਨੈਕਸ਼ਨ, ਉਹ ਟ੍ਰੈਫਿਕ ਜੋ ਇੱਕ ਰੈਜ਼ੀਡੈਂਸ਼ੀਅਲ ਪ੍ਰਾਕਸੀ ਨੈੱਟਵਰਕ ਕਿਰਾਏ 'ਤੇ ਦਿੰਦਾ ਹੈ।
- ਮੈਕ 'ਤੇ Chrome ਯੂਜ਼ਰ ਏਜੰਟ, 103 ਤੋਂ 151 ਤੱਕ ਦੇ ਵਰਜ਼ਨ ਨੰਬਰਾਂ ਨਾਲ।
- ਲਗਭਗ ਕਦੇ ਵੀ ਕੁਕੀ ਜਾਂ Referer ਨਹੀਂ। ਸਰਵਰ 'ਤੇ ਅਸੀਂ ਜਿਹਨਾਂ 2,697 ਰਿਕਵੈਸਟਾਂ ਦਾ ਨਮੂਨਾ ਲਿਆ, ਉਹਨਾਂ ਵਿੱਚੋਂ 4 ਕੋਲ ਕੁਕੀ ਸੀ ਅਤੇ 4 ਕੋਲ Referer ਸੀ।
- ਦੋ ਕਿਸਮਾਂ ਦੇ ਕਲਾਇੰਟ। ਲਗਭਗ ਅੱਧੇ ਨੇ
Sec-Fetch-*ਹੈਡਰ ਅਤੇ ਕੋਈ ਕਲਾਇੰਟ ਹਿੰਟਸ ਨਹੀਂ ਭੇਜੇ: ਇੱਕ ਕਾਪੀ ਕੀਤੀ ਯੂਜ਼ਰ ਏਜੰਟ ਸਟ੍ਰਿੰਗ ਵਾਲਾ ਸਕ੍ਰਿਪਟ। ਬਾਕੀ ਅੱਧੇ ਨੇ ਪੂਰੇ ਬ੍ਰਾਊਜ਼ਰ ਹੈਡਰ ਭੇਜੇ: ਇੱਕ ਹੈੱਡਲੈੱਸ ਬ੍ਰਾਊਜ਼ਰ।
ਹਰ ਰਿਕਵੈਸਟ ਲਈ ਹਰ ਪੇਜ ਰੈਂਡਰ ਕੀਤਾ ਜਾਂਦਾ ਸੀ, ਇਸ ਲਈ ਹਰ ਵਰਕਰ ਸੈਂਕੜੇ ਰੈਂਡਰ ਕਤਾਰ ਵਿੱਚ ਪਾਉਂਦਾ ਸੀ ਅਤੇ ਆਪਣੀ CPU ਸੀਮਾ ਨੂੰ ਟੱਕਰਾਉਂਦਾ ਸੀ।
ਪ੍ਰਤੀ-ਪਤੇ ਸੀਮਾਵਾਂ ਕਿਉਂ ਮਦਦ ਨਹੀਂ ਕਰ ਸਕੀਆਂ
ਰੇਟ ਲਿਮਿਟ ਪ੍ਰਤੀ ਪਤੇ ਰਿਕਵੈਸਟ ਗਿਣਦੀ ਹੈ। ਹਜ਼ਾਰਾਂ ਪਤਿਆਂ ਵਿੱਚੋਂ ਹਰੇਕ ਤੋਂ ਇੱਕ ਤੋਂ ਤਿੰਨ ਰਿਕਵੈਸਟਾਂ ਨਾਲ, ਕੋਈ ਵੀ ਇੱਕ ਪਤਾ ਕਦੇ ਵੀ ਸੀਮਾ ਦੇ ਨੇੜੇ ਨਹੀਂ ਆਉਂਦਾ। ਦੇਸ਼ਾਂ ਨੂੰ ਬਲੌਕ ਕਰਨ ਨਾਲ ਸਾਡੇ ਵਿਜ਼ਿਟਰ ਬਲੌਕ ਹੋ ਜਾਂਦੇ। ਜੋ ਸਕ੍ਰੇਪਰ ਸਸਤਾਈ ਨਾਲ ਨਕਲ ਨਹੀਂ ਕਰ ਸਕਦਾ ਸੀ, ਉਹ ਸੀ ਸਾਈਟ 'ਤੇ ਪਹਿਲਾਂ ਆ ਚੁੱਕੇ ਬ੍ਰਾਊਜ਼ਰ ਵਾਂਗ ਵਿਹਾਰ ਕਰਨਾ।
Cloudflare ਦੇ ਐਜ 'ਤੇ: ਤਿੰਨ ਮੁਫਤ ਨਿਯਮ
ਫ੍ਰੀ ਪਲਾਨ ਪ੍ਰਤੀ ਜ਼ੋਨ ਪੰਜ WAF ਕਸਟਮ ਨਿਯਮਾਂ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਅਸੀਂ ਤਿੰਨ ਵਰਤੇ, ਸਾਰੇ ਬਲੌਕ ਦੀ ਥਾਂ ਇੱਕ ਮੈਨੇਜਡ ਚੈਲੇਂਜ ਨਾਲ, ਤਾਂ ਜੋ ਗਲਤੀ ਨਾਲ ਫਸਿਆ ਇੱਕ ਵਿਅਕਤੀ ਕਲਿੱਕ ਕਰਕੇ ਅੱਗੇ ਵਧ ਸਕੇ:
- ਨਕਲੀ ਬ੍ਰਾਊਜ਼ਰ: ਇੱਕ GET ਜਿਸਦਾ ਯੂਜ਼ਰ ਏਜੰਟ
Chrome/ਰੱਖਦਾ ਹੈ ਅਤੇ ਜਿਸ ਕੋਲSec-Fetch-Modeਹੈਡਰ ਨਹੀਂ ਹੈ। 2019 ਤੋਂ ਬਾਅਦ ਹਰ Chrome ਇਹ ਭੇਜਦਾ ਹੈ। - ਸਕ੍ਰੇਪਰ ਕਲਾਊਡਜ਼: Alibaba, Tencent ਅਤੇ Huawei Cloud ਦੇ ਨੈੱਟਵਰਕਾਂ ਤੋਂ ਇੱਕ ਪੇਜ ਰਿਕਵੈਸਟ, ਜਿੱਥੋਂ ਅਸੀਂ ਜਿਹਨਾਂ ਨੂੰ ਚੈਲੇਂਜ ਕੀਤਾ ਉਹਨਾਂ ਵਿੱਚੋਂ ਬਹੁਤ ਸਾਰੇ ਆਏ ਸਨ।
- ਐਮਰਜੈਂਸੀ, ਡਿਫੌਲਟ ਵਿੱਚ ਬੰਦ: ਇੱਕ GET ਜਿਸ ਵਿੱਚ ਬਿਲਕੁਲ ਕੋਈ ਕੁਕੀ ਨਹੀਂ ਅਤੇ ਕੋਈ Referer ਨਹੀਂ। ਜੋ ਵਿਅਕਤੀ ਸਾਈਟ 'ਤੇ ਪਹਿਲਾਂ ਆ ਚੁੱਕਾ ਹੈ, ਜਾਂ ਜੋ ਲਿੰਕ ਰਾਹੀਂ ਆਉਂਦਾ ਹੈ, ਉਹ ਬਿਨਾਂ ਛੂਹੇ ਪਾਸ ਹੋ ਜਾਂਦਾ ਹੈ; ਇੱਕ ਸਕ੍ਰੇਪਰ ਜੋ ਕੁਕੀਜ਼ ਨਹੀਂ ਰੱਖਦਾ, ਉਹ ਹਰ ਰਿਕਵੈਸਟ 'ਤੇ ਚੈਲੇਂਜ ਨੂੰ ਮਿਲਦਾ ਹੈ। ਅਸੀਂ ਇਸਨੂੰ ਸਿਰਫ਼ ਹੜ੍ਹ ਦੌਰਾਨ ਚਾਲੂ ਕਰਦੇ ਹਾਂ, ਕਿਉਂਕਿ ਇਹ ਉਸ ਵਿਅਕਤੀ ਨੂੰ ਵੀ ਚੈਲੇਂਜ ਕਰਦਾ ਹੈ ਜੋ ਨਵੇਂ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਪਤਾ ਟਾਈਪ ਕਰਦਾ ਹੈ।
ਤਿੰਨੇ ਹੀ Cloudflare ਦੇ ਤਸਦੀਕਸ਼ੁਦਾ ਬੌਟਾਂ, ਆਪਣੇ ਆਪ ਨੂੰ ਰੋਬੋਟ ਦੱਸਣ ਵਾਲੇ ਯੂਜ਼ਰ ਏਜੰਟਾਂ, ਸਾਡੇ ਆਪਣੇ ਪਤੇ, API ਅਤੇ ਵੈੱਬਹੁੱਕ ਪਾਥਾਂ, ਅਤੇ ਉਹਨਾਂ ਫਾਈਲਾਂ ਨੂੰ ਲੰਘਣ ਦਿੰਦੇ ਹਨ ਜੋ ਪੰਨੇ ਨਹੀਂ ਹਨ। ਦੋ ਦਿਨ ਬਾਅਦ ਵੀ ਹੜ੍ਹ ਜਾਰੀ ਸੀ: ਇੱਕ ਘੰਟੇ ਵਿੱਚ ਫੇਕ-ਬ੍ਰਾਊਜ਼ਰ ਨਿਯਮ ਨੇ 10,000 ਤੋਂ ਵੱਧ ਬੇਨਤੀਆਂ ਨੂੰ ਚੈਲੇਂਜ ਕੀਤਾ। Cloudflare ਵੱਲੋਂ ਪ੍ਰਤੀ ਕਵੈਰੀ ਵਾਪਸ ਕੀਤੇ ਗਏ 10,000 ਈਵੈਂਟ 9,627 ਪਤਿਆਂ ਤੋਂ ਆਏ ਸਨ, ਜਿਨ੍ਹਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਕੋਲ ਵੀ 4 ਤੋਂ ਵੱਧ ਨਹੀਂ ਸਨ।
ਮੂਲ ਸਰਵਰ 'ਤੇ: ਐਪ ਵਿੱਚ ਇੱਕ ਗੇਟ
ਹੈੱਡਲੈਸ ਹਿੱਸੇ ਕੋਲ ਪੂਰੇ ਬ੍ਰਾਊਜ਼ਰ ਹੈੱਡਰ ਹੁੰਦੇ ਹਨ, ਇਸ ਲਈ ਜਦੋਂ ਐਮਰਜੈਂਸੀ ਨਿਯਮ ਬੰਦ ਹੁੰਦਾ ਹੈ ਤਾਂ ਸਿਰਫ਼ ਐਜ ਨਿਯਮ ਇਸਨੂੰ ਨਹੀਂ ਫੜਦੇ। ਐਪ ਵਿੱਚ ਅਸੀਂ ਪੰਨਾ ਰੈਂਡਰਰ ਦੇ ਅੱਗੇ ਇੱਕ ਛੋਟਾ ਮਿਡਲਵੇਅਰ ਲਗਾਉਂਦੇ ਹਾਂ:
- ਇੱਕ Chrome ਯੂਜ਼ਰ ਏਜੰਟ ਜਿਸ ਕੋਲ ਨਾ
Sec-Fetch-Modeਹੋਵੇ ਨਾ ਕਲਾਇੰਟ ਹਿੰਟਸ, ਨੂੰ ਕੋਈ ਕੰਮ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਹੀ 403 ਮਿਲਦਾ ਹੈ; - ਇੱਕ ਅਣਜਾਣ ਵਿਅਕਤੀ, ਜਿਸ ਕੋਲ ਸਾਡੇ ਕੋਈ ਕੁਕੀਜ਼ ਨਾ ਹੋਣ ਅਤੇ ਨਾ ਹੀ Referer, ਨੂੰ ਸਿਰਫ਼ ਤਦ ਹੀ ਪੰਨਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਵਰਕਰ ਕੋਲ ਵਾਧੂ ਸਮਰੱਥਾ ਹੋਵੇ, ਕੁਝ ਪੰਨੇ ਪ੍ਰਤੀ ਸਕਿੰਟ। ਇਸ ਤੋਂ ਵੱਧ ਹੋਣ 'ਤੇ, 400-ਬਾਈਟ ਦਾ 503 ਪੰਨਾ ਇੱਕ ਕੁਕੀ ਸੈੱਟ ਕਰਦਾ ਹੈ ਅਤੇ ਦੋ ਸਕਿੰਟ ਬਾਅਦ ਰੀਲੋਡ ਕਰਦਾ ਹੈ। ਇੱਕ ਇਨਸਾਨ ਦੂਜੀ ਕੋਸ਼ਿਸ਼ 'ਤੇ ਪੰਨਾ ਪ੍ਰਾਪਤ ਕਰ ਲੈਂਦਾ ਹੈ; ਇੱਕ ਸਕ੍ਰੈਪਰ ਜੋ ਕੁਕੀਜ਼ ਨਹੀਂ ਰੱਖਦਾ, ਉਹ ਕਦੇ ਨਹੀਂ ਕਰ ਪਾਉਂਦਾ।
ਪਹਿਲੇ ਮਿੰਟ ਵਿੱਚ ਗੇਟ ਨੇ ਲਗਭਗ 6,700 ਫੇਕ ਬ੍ਰਾਊਜ਼ਰਾਂ ਨੂੰ ਰੋਕਿਆ ਅਤੇ ਲਗਭਗ 6,700 ਅਣਜਾਣਾਂ ਨੂੰ ਵਾਪਸ ਮੋੜ ਦਿੱਤਾ, ਜਦਕਿ ਅਣਜਾਣਾਂ ਨੂੰ ਲਗਭਗ 9 ਪੰਨੇ ਪ੍ਰਤੀ ਸਕਿੰਟ ਦਿੱਤੇ ਗਏ। ਧੀਮੇ ਬੇਨਤੀਆਂ ਜ਼ੀਰੋ 'ਤੇ ਆ ਗਈਆਂ, ਵਰਕਰਾਂ ਦਾ CPU ਉਹਨਾਂ ਦੀ ਹੱਦ ਤੋਂ ਘਟ ਕੇ 12 ਤੋਂ 15 ਪ੍ਰਤੀਸ਼ਤ ਰਹਿ ਗਿਆ, ਅਤੇ ਉਹਨਾਂ ਦੀ ਮੈਮੋਰੀ ਹਰੇਕ ਲਈ 4 ਤੋਂ 5 GB ਤੋਂ ਘਟ ਕੇ 0.65 GB ਰਹਿ ਗਈ।
ਅਸੀਂ ਕੀ ਬੰਦ ਛੱਡਿਆ
- Bot Fight Mode. ਇਹ ਆਟੋਮੇਟਿਡ ਟ੍ਰੈਫਿਕ ਨੂੰ ਚੈਲੇਂਜ ਕਰਦਾ ਹੈ ਅਤੇ Free ਪਲਾਨ 'ਤੇ ਇਸਨੂੰ ਕਸਟਮ ਨਿਯਮ ਨਾਲ ਨਹੀਂ ਛੱਡਿਆ ਜਾ ਸਕਦਾ, ਅਤੇ ਇਸਨੇ ਸਾਡੇ ਪੇਮੈਂਟ ਪ੍ਰੋਵਾਈਡਰ ਦੇ ਵੈੱਬਹੁੱਕਸ ਨੂੰ ਫੜ ਲਿਆ ਸੀ।
- ਪੂਰੇ ਜ਼ੋਨ ਲਈ Under Attack mode. ਇਹ ਹਰ ਵਿਜ਼ਿਟਰ, API ਕਲਾਇੰਟ ਅਤੇ ਵੈੱਬਹੁੱਕ ਨੂੰ ਇੰਟਰਸਟੀਸ਼ੀਅਲ ਵਿੱਚੋਂ ਲੰਘਾਉਂਦਾ ਹੈ। ਐਮਰਜੈਂਸੀ ਨਿਯਮ ਅਣਜਾਣਾਂ ਦੇ ਪੰਨਾ ਬੇਨਤੀਆਂ ਲਈ ਹੀ ਇਹੀ ਕੰਮ ਕਰਦਾ ਹੈ।
- Free ਪਲਾਨ ਦਾ ਰੇਟ-ਲਿਮਿਟਿੰਗ ਨਿਯਮ। ਇਹ ਪ੍ਰਤੀ ਪਤਾ ਗਿਣਦਾ ਹੈ, ਜੋ ਇਸ ਹੜ੍ਹ ਨੂੰ ਕਦੇ ਟ੍ਰਿਗਰ ਨਹੀਂ ਕਰਦਾ।
- AI ਕ੍ਰੌਲਰਾਂ ਨੂੰ ਬਲੌਕ ਕਰਨਾ। ਅਸੀਂ ਚਾਹੁੰਦੇ ਹਾਂ ਕਿ AI ਸਰਚ ਅਸਿਸਟੈਂਟ ਸਾਨੂੰ ਲੱਭ ਸਕਣ, ਅਤੇ ਉਹ ਕ੍ਰੌਲਰ ਸਮੱਸਿਆ ਨਹੀਂ ਸਨ।
ਸਿੱਖ
ਰੈਜ਼ੀਡੈਂਸ਼ੀਅਲ ਪ੍ਰੌਕਸੀਜ਼ ਰਾਹੀਂ ਆਉਣ ਵਾਲਾ ਹੜ੍ਹ ਉਹਨਾਂ ਚੀਜ਼ਾਂ ਦੀ ਗੈਰਤੋਂ ਨਾਲ ਆਸਾਨੀ ਨਾਲ ਪਛਾਣਿਆ ਜਾ ਸਕਦਾ ਹੈ ਜੋ ਇਸ ਵਿੱਚ ਨਹੀਂ ਹੁੰਦੀਆਂ: ਬ੍ਰਾਊਜ਼ਰ ਫੈੱਚ ਹੈੱਡਰ, ਕੁਕੀਜ਼ ਅਤੇ Referers। ਐਜ 'ਤੇ ਇਸਨੂੰ ਚੈਲੇਂਜ ਕਰੋ, ਅਣਜਾਣਾਂ ਨੂੰ ਉਸ ਸਮਰੱਥਾ ਦੇ ਅੰਦਰ ਰੱਖੋ ਜਿੰਨੇ ਤੁਹਾਡੇ ਵਰਕਰ ਰੈਂਡਰ ਕਰ ਸਕਦੇ ਹਨ, ਅਤੇ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਸਰਵਰ ਤੋਂ ਬਾਹਰ ਕੋਈ ਚੀਜ਼ ਨੋਟਿਸ ਕਰੇ ਜਦੋਂ ਕੋਈ ਪੰਨਾ ਖੁੱਲ੍ਹਣਾ ਬੰਦ ਹੋ ਜਾਵੇ। Night Watch ਤਿੰਨੇ ਪੈਕੇਜ ਕਰਦਾ ਹੈ: ਵਾਚ, ਨਿਯਮ ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਐਮਰਜੈਂਸੀ ਵਾਲੇ ਲਈ ਇੱਕ ਆਟੋਮੈਟਿਕ ਸਵਿੱਚ ਹੈ, ਅਤੇ Python ਵੈੱਬ ਐਪਸ ਲਈ ਗੇਟ।