Night Watch
រក្សាគេហទំព័ររបស់អ្នកឱ្យដំណើរការបាន ទោះបីជាមានការហូរចូលយ៉ាងច្រើនពីកម្មវិធីស្ក្រេប៖ ការត្រួតពិនិត្យភាពអាចប្រើប្រាស់បាន ប្រព័ន្ធការពារ Cloudflare ផែនការឥតគិតថ្លៃ និងទ្វារប្រឆាំងប៊ត។
- Linux
- Python 3.10+
- Cloudflare Free plan
- ASGI or WSGI apps

អ្វីដែលវាធ្វើបាន
Night Watch បើកគ្រប់គេហទំព័រដែលអ្នកដំណើរការ ដូចទស្សនិកជនធ្វើ រៀងរាល់ 5 នាទីម្តង ហើយប្រាប់អ្នកភ្លាមៗនៅពេលមួយឈប់បើក និងនៅពេលវាត្រឡប់មកវិញ។ នៅពេលគេហទំព័រមួយដួលដោយសារតែ scraper កំពុងបញ្ចូលទិន្នន័យចូលច្រើនពេក ម៉ាស៊ីនត្រួតពិនិត្យនឹងបើកច្បាប់ Cloudflare មួយដែលបញ្ឈប់ការបញ្ចូលនោះនៅត្រឹម edge ហើយកម្មវិធីរបស់អ្នកនឹងបន្តបម្រើអ្នកប្រើប្រាស់ខណៈដែលវានៅដំណើរការ។
- គ្រប់គេហទំព័រ រៀងរាល់ 5 នាទី។ គ្រប់ zone នៅក្នុងគណនី Cloudflare របស់អ្នក បូកនឹងទំព័រណាក៏បានដែលអ្នកបញ្ជី ដោយមានជម្រើសជាមួយអត្ថបទដែលទំព័រត្រូវតែមាន។ សារមួយនៅពេលគេហទំព័រដួល សារមួយនៅពេលវាត្រឡប់មកវិញដោយប្រាប់ថាវាបានដួលយូរប៉ុន្មាន និងការរំលឹកខណៈដែលវានៅតែដួល។ តាមអ៊ីមែល តាម chat webhook ឬទាំងពីរ។
- ខែលការពារនៅលើគម្រោង Free។ ច្បាប់ WAF ផ្ទាល់ខ្លួនចំនួន 3៖ Chrome user agent ដែលគ្មាន headers ដែល Chrome ពិតប្រាកដផ្ញើទៅនឹងទទួលបានការបញ្ចូលបញ្ហា (challenge) សំណើទំព័រពីបណ្តាញ scraper នឹងទទួលបានការបញ្ចូលបញ្ហា និងច្បាប់បន្ទាន់មួយនឹងបញ្ចូលបញ្ហាអ្នកចូលមិនស្គាល់ដែលគ្មាន cookie និងគ្មានតំណភ្ជាប់ក្នុងអំឡុងពេលមានការបញ្ចូលទិន្នន័យច្រើន។
- បើកដោយខ្លួនឯង។ នៅពេលគេហទំព័រមួយដួលដោយសារតែការបន្ទុកលើស ម៉ាស៊ីនត្រួតពិនិត្យនឹងបើកច្បាប់បន្ទាន់ និងប្រាប់បែបនេះនៅក្នុងសេចក្តីជូនដំណឹង។ ប៉ុន្មានម៉ោងក្រោយមកនៅពេលគេហទំព័រត្រឡប់មកវិញ វានឹងបិទវា។ ខែលការពារដែលអ្នកបើកដោយខ្លួនឯង នឹងនៅតែបើក។
- ទ្វារមួយនៅក្នុងកម្មវិធីរបស់អ្នក។ ឯកសារមួយដែលគ្មានការពឹងផ្អែក (dependencies) សម្រាប់ FastAPI, Starlette, Django, Flask ឬកម្មវិធី ASGI ឬ WSGI ណាក៏បាន។ វាបដិសេធកម្មវិធីរុករកក្លែងក្លាយមុនពេលកូដរបស់អ្នកដំណើរការ និងរក្សាអ្នកចូលមិនស្គាល់នៅក្នុងចំនួនដែល worker នីមួយៗអាចបម្រើបាន។ អ្នកដែលមាន cookie ឬមកតាមតំណភ្ជាប់ មិនដែលចាប់អារម្មណ៍វាទេ។
- មើលថាតើអ្វីកំពុងវាយប្រហារអ្នក។ អ្វីដែល Cloudflare firewall បានបញ្ចូលបញ្ហាក្នុងរយៈពេលប៉ុន្មាននាទីចុងក្រោយ តាមច្បាប់ បណ្តាញ ប្រទេស user agent និង path អានពីព្រឹត្តិការណ៍ដើម (raw events) ដែលគម្រោង Free អនុញ្ញាត។
- មានមុខងារត្រឡប់វិញក្នុងខ្លួន។ ការផ្លាស់ប្តូរច្បាប់នីមួយៗរក្សាទុកច្បាប់របស់ zone ជាមុនសិន ច្បាប់របស់អ្នកនៅតែមានទីតាំងនៅពីមុខច្បាប់របស់យើង និងពាក្យបញ្ជាមួយដាក់សំណុំដែលបានរក្សាទុកត្រឡប់មកវិញ។
បានសាកល្បងលើគេហទំព័ររបស់យើងខ្លួនឯង
- ការបញ្ចូលទិន្នន័យពិតប្រាកដ មួយម៉ោង៖ នៅលើគេហទំព័រមួយរបស់យើង ច្បាប់កម្មវិធីរុករកក្លែងក្លាយបានបញ្ចូលបញ្ហាសំណើជាង 10,000។ 10,000 ដែល Cloudflare អនុញ្ញាតឱ្យយើងអានបានមកពីអាសយដ្ឋានអ៊ីនធឺណិតផ្ទះចំនួន 9,627 គ្មានណាមួយផ្ញើលើសពី 4៖ កំណត់អត្រាតាមអាសយដ្ឋានមួយៗនឹងមិនដែលដំណើរការឡើយ។
- គ្រប់ច្បាប់ បានសាកល្បងផ្ទាល់នៅលើគម្រោង Free៖ អ្នកចូលមិនស្គាល់ត្រូវបានបញ្ចូលបញ្ហាខណៈដែលច្បាប់បន្ទាន់កំពុងបើក និងត្រូវបានអនុញ្ញាតឱ្យចូលដោយមាន cookie ឬតំណភ្ជាប់មួយ; Chrome user agent ដែលគ្មាន headers កម្មវិធីរុករកត្រូវបានបញ្ចូលបញ្ហា; Googlebot បានឆ្លងកាត់។ បន្ទាប់មក ច្បាប់មុនរបស់ zone ត្រូវបានស្តារឡើងវិញដូចដើម។
- ប្រព័ន្ធការពារក្រោម 1,747 សំណើក្នុងមួយវិនាទី នៅលើ uvicorn៖ គ្រប់ scraper ដែលគ្មាន browser headers ត្រូវបានបដិសេធ អ្នកចូលមើលថ្មីត្រូវបានកំណត់ឱ្យទទួលបានតែអ្វីដែលកម្មវិធីអាចបម្រើបាន ហើយគ្រប់សំណើពីអ្នកចូលមើលដែលត្រឡប់មកវិញ អ្នកចូលមើលតាមតំណ និង Googlebot ត្រូវបានបម្រើក្នុងរយៈពេលមធ្យម 0.20 វិនាទី ដែលជាពេលវេលាផ្ទាល់របស់ទំព័រ។
អ្វីដែលមាននៅខាងក្នុង
ការត្រួតពិនិត្យ
គេហទំព័រពីគណនី Cloudflare របស់អ្នក និងបញ្ជីមួយ ការត្រួតពិនិត្យដែលមើលទៅដូចជាអ្នកចូលមើល សារតាមអ៊ីមែល ឬ webhook និងការសាកល្បងមួយដែលប្រាប់ពី "ទាំងអស់ដួល" ពី "ម៉ាស៊ីននេះអនឡាញ"។
ប្រព័ន្ធការពារ
ដំឡើង ស្ថានភាព បើក បិទ ដកចេញ និងស្តារសម្រាប់តំបន់មួយ ឬទាំងអស់ ដោយការបម្រុងទុកគ្រប់ការផ្លាស់ប្តូរជាមុនសិន។
ទ្វារ
ASGI និង WSGI middleware ទំព័រ "មួយភ្លែត" រយៈពេល 2 វិនាទីដែលផ្តល់ cookie ដល់អ្នកប្រើប្រាស់ និងបន្ទាត់កំណត់ត្រាមួយក្នុងមួយនាទី។
សៀវភៅណែនាំប្រតិបត្តិការ
អ្វីដែលត្រូវធ្វើនៅពេលគេហទំព័រយឺត ឬដួល របៀបអានទិន្នន័យចូលច្រើន និងអ្វីដែលមិនគួរបើកនៅក្នុងផ្ទាំងគ្រប់គ្រងរបស់ Cloudflare។
តម្រូវការ
- Linux ជាមួយ systemd និង Python 3.10 ឬថ្មីជាងនេះ; គ្មានអ្វីត្រូវដំឡើងពី pip ទេ។
- សម្រាប់ប្រព័ន្ធការពារ និងទិដ្ឋភាពព្រឹត្តិការណ៍ គេហទំព័រនៅលើ Cloudflare (គ្រប់គម្រោង រួមទាំងគម្រោងឥតគិតថ្លៃ) និង API token។
- ម៉ាស៊ីនផ្សេងទៀតក្រៅពីម៉ាស៊ីនដែលបម្រើគេហទំព័ររបស់អ្នក ដើម្បីវាអាចជូនដំណឹងអ្នកនៅពេលម៉ាស៊ីននោះដួល។
ចំណុចគួរដឹង
- ច្បាប់បន្ទាន់ក៏បញ្ជូនការបញ្ជាក់អត្តសញ្ញាណទៅកាន់បុគ្គលដែលវាយអាសយដ្ឋានរបស់អ្នកនៅក្នុង browser ថ្មីផងដែរ ដែលជាមូលហេតុដែលវាត្រូវបានបិទ លើកលែងតែនៅពេលមានទិន្នន័យចូលច្រើន។
- Bot ដែលបានផ្ទៀងផ្ទាត់ និង robot ដែលបញ្ជាក់ឈ្មោះខ្លួនឯងមិនត្រូវបានបញ្ជូនការបញ្ជាក់អត្តសញ្ញាណទេ ហើយម៉ាស៊ីនស្វែងរកមិនត្រូវបានបដិសេធដោយទ្វារទេ។
- ប្រព័ន្ធការពារប្រើប្រាស់ច្បាប់ផ្ទាល់ខ្លួនបីក្នុងចំណោមច្បាប់ប្រាំដែលគម្រោងឥតគិតថ្លៃអនុញ្ញាតក្នុងមួយតំបន់។
From our field notes
សំណួរ
តើខ្ញុំត្រូវការគម្រោង Cloudflare បង់ប្រាក់ទេ?
ទេ។ អ្វីៗទាំងអស់ដែល Night Watch ធ្វើបានដំណើរការលើគម្រោងឥតគិតថ្លៃ៖ ច្បាប់បី ទិដ្ឋភាពព្រឹត្តិការណ៍ និងការប្តូរស្វ័យប្រវត្តិ។ គម្រោងបង់ប្រាក់គ្រាន់តែផ្តល់ឱ្យអ្នកនូវកន្លែងច្បាប់បន្ថែមនៅក្បែររបស់យើង។
តើវានឹងទប់ស្កាត់ Google ឬ AI search crawlers ទេ?
ទេ។ Cloudflare មាន bot ដែលបានផ្ទៀងផ្ទាត់ និងគ្រប់ robot ដែលបញ្ជាក់ឈ្មោះខ្លួនឯងនៅក្នុង user agent ឆ្លងកាត់ប្រព័ន្ធការពារ ហើយទ្វារមិនដែលបដិសេធម៉ាស៊ីនស្វែងរក ឬការមើលជាមុនតំណទេ។ ប្រសិនបើអ្នកចង់ទប់ស្កាត់ AI crawlers នោះជាការសម្រេចចិត្តដាច់ដោយឡែកនៅក្នុងផ្ទាំងគ្រប់គ្រងរបស់ Cloudflare។
គេហទំព័ររបស់ខ្ញុំមិនមាននៅលើ Cloudflare។ តើវានៅតែមានប្រយោជន៍ទេ?
ការត្រួតពិនិត្យ និងទ្វារដំណើរការនៅគ្រប់ទីកន្លែង៖ ការត្រួតពិនិត្យបើក URL ណាមួយ ហើយទ្វារការពារគ្រប់កម្មវិធី Python web app។ ប្រព័ន្ធការពារ និងទិដ្ឋភាពព្រឹត្តិការណ៍ត្រូវការ Cloudflare។
តើវាខុសគ្នាយ៉ាងណាពីម៉ាស៊ីនត្រួតពិនិត្យស្ថានភាពប្រព័ន្ធ?
ម៉ាស៊ីនត្រួតពិនិត្យស្ថានភាពប្រព័ន្ធប្រាប់អ្នកថាគេហទំព័រមួយបានដួល។ Night Watch ក៏ប្រាប់អ្នកដែរ បន្ទាប់មកវាធ្វើសកម្មភាពលើមូលហេតុទូទៅបំផុតដែលយើងបានឃើញ៖ វាបើកប្រព័ន្ធការពារនៅត្រឹម Cloudflare edge ហើយទ្វារការពារនឹងបន្តផ្តល់សេវាឱ្យកម្មវិធីរបស់អ្នកដល់មនុស្សដែលអ្នកចង់បាន ខណៈដែលការហូរចូលដ៏ច្រើនសន្ធឹកសន្ធាប់កំពុងកើតឡើង។
បានធ្វើបច្ចុប្បន្នភាព: