4 poin oleh GN⁺ 2025-11-17 | Belum ada komentar. | Bagikan ke WhatsApp
  • Membahas masalah bot scraper yang membanjiri situs web publik dengan permintaan berlebihan hingga bertindak seperti DDoS, lalu mengajukan pendekatan eksperimental untuk membalikkan keadaan dengan membuang waktu mereka
  • Membuat generator teks berbasis rantai Markov untuk menghasilkan data palsu yang tampak seperti file .php, sehingga bot jahat terdorong mengunduhnya
  • Setelah itu membangun server konten statis yang menyajikan paragraf acak dari novel Frankenstein, dengan struktur tautan yang dirancang agar crawler menyebar secara eksplosif
  • Menambahkan atribut noindex, nofollow dan penghitung permintaan di semua halaman agar mesin pencari normal dikecualikan dan hanya bot yang melanggar aturan yang tertangkap
  • Hasil eksperimen menarik, tetapi karena ada risiko salah deteksi terhadap Googlebot, ini tidak diterapkan ke layanan nyata dan tetap dipertahankan sebagai proyek pembelajaran dan eksperimen

Masalah bot scraper dan ide penanganannya

  • Scraper tanpa sengaja dapat menyebabkan beban setingkat DDoS pada situs web kecil
  • Beberapa operator bertanya cara melindungi diri, tetapi tulisan ini berfokus pada “serangan balik, bukan pertahanan”
  • Setelah melihat contoh pengembang lain yang menipu bot dengan data palsu tak terbatas yang dibuat lewat rantai Markov, penulis mulai bereksperimen sendiri

Generator PHP palsu berbasis rantai Markov

  • Mengimplementasikan pelatih rantai Markov di Rust untuk membuat konten yang meyakinkan berdasarkan data teks acak
  • Menyasar bot jahat yang memburu path rentan seperti .env, .aws, dan .php, dengan menyajikan kode PHP palsu yang tampak nyata tetapi tidak bermakna
  • Ukuran file diperbesar dari 2KB hingga 10MB untuk memancing pemborosan sumber daya bot
  • Contoh output berbentuk kode PHP palsu yang cukup meyakinkan, bercampur nama fungsi WordPress dan komentar
  • Tujuannya adalah membuang waktu dan sumber daya bot, sekaligus membuat penyerang memboroskan waktu saat mencoba mencari celah yang nyata

Eksperimen efisiensi dan penyajian data statis

  • Saat menyajikan file berukuran lebih dari 1MB dari VPS, muncul latensi respons dan peningkatan beban server
  • Untuk mengatasinya, dibangun “garbage server” berbentuk situs statis
    • Seluruh novel Frankenstein dimuat ke memori, lalu setiap permintaan mengembalikan 4 paragraf acak
    • Di bagian bawah tiap halaman ditambahkan 5 tautan untuk mendorong penyebaran crawling yang eksplosif (naik 5 kali lipat)
  • Hasilnya dapat dilihat di https://herm.app/babbler/

Detail desain dan cara operasional

  • Novel yang dipilih adalah domain publik, digunakan karena dikerjakan saat musim Halloween dan karena kemiripan antara AI dan Frankenstein
  • Semua halaman diberi atribut noindex,nofollow agar hanya bot yang melanggar aturan yang tertangkap
  • Di bagian bawah setiap halaman ditampilkan penghitung jumlah permintaan, yang akan direset saat deployment karena berbasis memori
  • Server terpisah untuk permintaan .php juga disiapkan, sehingga file PHP sungguhan disajikan secara acak dari memori
  • Proyek ini diringkas dengan frasa “Garbage for the garbage king!”

Risiko dan keterbatasan

  • Sistem ini memiliki risiko salah deteksi terhadap mesin pencari jika diterapkan ke layanan nyata
    • Jika Googlebot merayapi endpoint yang salah, ada kemungkinan situs diklasifikasikan sebagai spam
    • Ini bisa berujung pada turunnya visibilitas pencarian atau munculnya peringatan di Chrome
  • Karena itu tidak direkomendasikan untuk situs yang bergantung pada pencarian, dan hanya dijalankan sebagai proyek eksperimen
  • Babbler untuk .php bukan HTML, sehingga tidak berdampak pada Googlebot, dan hanya menyasar bot jahat

Penutup dan kesimpulan pribadi

  • Untuk memancing scraper jahat, ditambahkan tautan tersembunyi (rel="nofollow") di blog
  • Jika batas trafik VPS terlampaui, dipertimbangkan penggunaan cache Cloudflare
  • Melalui proyek ini, penulis mempelajari rantai Markov dan cara kerja bot, dalam eksperimen yang memadukan kesenangan dan frustrasi
  • Kesimpulannya, tidak semua upaya harus praktis; terkadang kesenangan semata pun sudah cukup

Belum ada komentar.

Belum ada komentar.