Pembangun Cipta Sistem Pengesanan Bot Berperikemanusiaan Yang Mengutamakan Pengguna Sebenar Berbanding Menyekat Perangkak

Pasukan Komuniti BigGo
Pembangun Cipta Sistem Pengesanan Bot Berperikemanusiaan Yang Mengutamakan Pengguna Sebenar Berbanding Menyekat Perangkak

Seorang pembangun telah berkongsi pendekatan inovatif mereka untuk mengendalikan perangkak web yang agresif sambil mengekalkan pengalaman yang lancar untuk pelawat manusia. Daripada mengemukakan cabaran menyeluruh yang mengecewakan semua orang, mereka membina sistem pintar yang hanya mengganggu pengguna apabila benar-benar diperlukan.

Masalah bermula apabila beribu-ribu perangkak automatik mula menggali repositori kod selama bertahun-tahun setiap hari. Ini bukan pelawat biasa - mereka adalah bot sistematik yang mengimbas setiap URL yang mungkin, mencipta beban pelayan yang besar dan berpotensi menyuap dataset latihan AI tanpa kebenaran.

Metrik Kesan Prestasi:

  • Sebarang cabaran menghalang lebih 99% daripada trafik perangkak yang tidak diingini
  • 10 permintaan/saat mewujudkan beban yang ketara disebabkan oleh jabat tangan TLS
  • Overhed trafik 4x boleh membebankan pelayan yang sederhana
  • Proses latar belakang daripada Mastodon (1 permintaan/saat) dan Lemmy (2 permintaan/saat) menambah beban yang berterusan
  • Trafik perangkak mengurangkan keberkesanan cache dengan menolak keluar kandungan yang sah

Penempatan Cabaran Pintar Mengurangkan Geseran Manusia

Sistem ini hanya mencabar pelawat pada URL mendalam yang jarang dilawati oleh pelayar biasa. Halaman popular disimpan dalam cache oleh proksi terbalik, jadi kebanyakan trafik manusia tidak pernah menghadapi sistem anti-perangkak. Apabila seseorang memuatkan fail CSS laman web, mereka ditandakan sebagai mesra kerana pelayar sah memerlukan penggayaan tetapi kebanyakan perangkak mengabaikannya.

Pembangun juga menjejaki URL khusus mana yang mendapat lawatan berganda. Jika pautan diklik lebih daripada sekali, sistem menganggap ia adalah trafik manusia yang sah dan berhenti menunjukkan cabaran untuk halaman tersebut. Ini bermakna pautan yang dikongsi berfungsi dengan lancar untuk semua orang selepas pelawat pertama.

Pecahan Strategi Pengesanan Bot:

  • Hanya cabar URL mendalam (kurang daripada 1% daripada jumlah URL tetapi mengandungi 99% kandungan menarik)
  • Cache halaman popular melalui reverse proxy untuk mengelakkan pemprosesan yang tidak perlu
  • Tandakan pelawat yang memuatkan fail CSS sebagai "mesra"
  • Jejaki URL yang dilawati berkali-kali dan lepaskan cabaran untuk pautan yang dikongsi
  • Gunakan soalan logik manusia dan bukannya cabaran bukti kerja pengiraan

Cabaran Kreatif Yang Menghalang Sistem Automatik

Daripada menggunakan cabaran bukti kerja tradisional yang komputer kendalikan lebih baik daripada manusia, sistem ini bertanya soalan mudah seperti Berapa banyak R dalam strawberry? Ini memerlukan pemikiran sebenar dan bukannya kuasa pengiraan. Wawasan utama ialah sebarang cabaran langsung menyekat lebih 99% trafik perangkak yang tidak diingini.

Yang penting, cabaran tidak memasukkan penyelesaian mereka sendiri dalam JavaScript. Banyak sistem bot boleh menyelesaikan cabaran secara automatik apabila jawapan tertanam dalam kod halaman, tetapi ini memerlukan input manusia tulen.

Komuniti Membahaskan Hak Akses dan Penyelesaian Praktikal

Pendekatan ini telah mencetuskan perbincangan tentang siapa yang layak mendapat akses kepada kandungan web awam. Sesetengah pembangun berpendapat mereka harus mengawal bagaimana kandungan mereka diakses, terutama apabila syarikat AI mendakwa penggunaan adil sambil mengabaikan lesen kandungan. Yang lain mempersoalkan sama ada menyekat semua bot adalah adil, kerana sesetengahnya mungkin projek peribadi yang sah.

Akses kepada kandungan saya adalah keistimewaan yang saya berikan kepada anda. Saya menentukan bagaimana anda boleh mengaksesnya, dan melalui bot yang persediaan saya kelirukan dengan perangkak AI milik syarikat AI anti-manusia bukanlah cara yang sah untuk mengaksesnya.

Komuniti teknikal kekal berpecah mengenai penyelesaian. Walaupun sesetengah mencadangkan menggunakan rangkaian penghantaran kandungan seperti Cloudflare untuk perlindungan bot yang lebih mudah, yang lain menghargai pendekatan tersuai yang mengekalkan kawalan ke atas pengalaman pengguna.

Kesan Prestasi Mendorong Inovasi

Pembangun menyatakan bahawa mengendalikan 10 permintaan sesaat melibatkan lebih daripada penyajian halaman mudah - jabat tangan TLS dan proses latar belakang daripada rangkaian sosial bersekutu menambah overhed yang ketara. Pelayan sederhana boleh cepat kewalahan apabila perangkak mendarabkan beban sebanyak empat kali atau lebih.

Tekanan prestasi ini telah membawa kepada strategi caching kreatif dan penggunaan cabaran terpilih. Sistem ini bertujuan untuk mengurangkan beban berniat jahat sambil memelihara sumber untuk pengguna sah, membuktikan bahawa kejuruteraan yang bijak boleh menyelesaikan masalah yang penyekatan kasar tidak dapat.

Rujukan: humanely dealing with humungus crawlers