Bot sederhana ketahuan karena tidak menjalankan JavaScript. Tetapi iklan sudah lama tidak diperiksa dengan skrip curl, melainkan dengan browser sungguhan yang dikendalikan program. Browser headless seperti ini memuat halaman, menjalankan kode, menunggu, mengklik, dan bagi proteksi yang naif tidak berbeda dari pengunjung. Yang membantu membedakannya adalah browser fingerprint (sidik jari browser) dan jejak otomatisasi yang ditinggalkan program di lingkungannya.
Apa itu browser headless
Headless berarti «tanpa kepala», yaitu tanpa jendela grafis. Ini mesin Chrome atau Firefox yang sama, hanya dijalankan di latar belakang dan dikendalikan program. Alat otomatisasi populer seperti Puppeteer, Playwright, dan Selenium bisa membuka halaman, mengisi formulir, membuat tangkapan layar, dan melewati rantai pengalihan.
Siapa yang memakai browser headless terhadap landing page Anda:
- platform iklan: memeriksa landing page seperti yang akan dilihat pengguna;
- spy tool: menyimpan landing page secara utuh (selengkapnya di artikel proteksi dari spy tool);
- traffic fraud: memanipulasi klik bahkan konversi;
- parser kompetitor: mengumpulkan teks, harga, dan struktur.
Masalah utama bagi filter: browser headless lolos dari pengecekan eksekusi JavaScript. Karena itu dibutuhkan tanda yang lebih halus.
Apa itu browser fingerprint
Browser fingerprint adalah kumpulan karakteristik yang diungkapkan browser ke situs. Sebagian dikirim sendiri, sebagian diukur dengan skrip.
| Komponen | Apa itu | Apa yang bisa membongkar |
|---|---|---|
| User-agent | string berisi nama dan versi browser serta OS | versi template atau usang |
| Bahasa dan locale | daftar bahasa browser | bahasa yang tidak cocok dengan GEO |
| Zona waktu | zona waktu sistem | zona yang tidak cocok dengan negara IP |
| Layar | resolusi, kedalaman warna, kepadatan piksel | ukuran «bulat» khas server |
| Grafis | kartu grafis, renderer, ciri rendering | renderer perangkat lunak, bukan kartu grafis nyata |
| Font | kumpulan font terpasang | sistem server yang «polos» |
| Data perangkat keras | jumlah core, memori, layar sentuh | spesifikasi desktop pada «ponsel» |
| Kemampuan API | antarmuka browser yang tersedia | tidak adanya fitur yang dimiliki browser asli versi itu |
Fingerprint dipakai dengan dua cara. Untuk pengenalan, yaitu memahami bahwa kunjungan berbeda datang dari satu perangkat. Dan untuk verifikasi keaslian, yaitu menilai apakah kombinasi ini mirip perangkat nyata. Untuk proteksi dari bot, yang kedua lebih penting; di situlah setiap proteksi bot untuk website bertumpu.
Tanda headless dan otomatisasi
Flag webdriver
Menurut standar, browser yang dikendalikan program lewat antarmuka otomatisasi mengatur properti navigator.webdriver. Ini tanda paling terkenal sekaligus paling mudah disembunyikan: cukup dipalsukan dengan satu baris. Karena itu proteksi yang serius tidak bertumpu padanya saja.
Jejak pengendalian
Alat otomatisasi meninggalkan objek, variabel, dan perubahan khas perilaku fungsi tertentu di lingkungannya. Jumlahnya banyak, berubah di setiap versi alat, dan sulit menyembunyikan semuanya sekaligus.
Ketidakcocokan dengan yang diklaim
Browser headless sering membongkar dirinya lewat kontradiksi:
- user-agent menyebut «Chrome di Windows», tetapi kumpulan API-nya seperti build headless di Linux;
- diklaim iPhone, tetapi mendukung antarmuka yang tidak ada di Safari;
- layarnya «mobile», tetapi tidak ada input sentuh;
- kartu grafis terdeteksi sebagai renderer perangkat lunak yang khas server.
Lingkungan server
Kumpulan font minimal, tidak ada perangkat media, resolusi layar yang «bulat», nilai perangkat keras yang tidak wajar: semua ini tanda browser yang berjalan di server tanpa pengguna nyata.
Waktu dan perilaku
Program bertindak entah seketika, entah dengan jeda yang selalu sama. Tidak ada gerakan mouse, sentuhan, atau scroll, atau semuanya terlalu sempurna. Waktu di halaman yang dipalsukan juga bisa terdeteksi, ketika yang dilaporkan skrip tidak cocok dengan timing sebenarnya.
Tips. Tidak ada satu tanda pun di daftar ini yang membuktikan bot dengan sendirinya. Yang membuktikan adalah kombinasinya: tiga atau empat kontradiksi independen pada satu kunjungan hampir tidak pernah terjadi pada browser asli.
Antidetect browser: di mana batasnya
Antidetect browser memalsukan fingerprint sehingga setiap profil terlihat seperti perangkat nyata yang terpisah. Di affiliate marketing ini alat kerja biasa: media buyer menyimpan akun iklan di dalamnya agar platform tidak mengaitkan akun-akun itu satu sama lain.
Bagi filter traffic, penting membedakan dua kasus:
- antidetect yang dikendalikan manusia: bagi landing page, pada dasarnya ini pengunjung biasa; orangnya menggerakkan mouse, membaca, mengklik;
- antidetect yang dikendalikan program: otomatisasi yang sama dengan penyamaran lebih baik; ia ketahuan dari pemalsuan yang tidak konsisten dan perilakunya.
Dengan kata lain, fingerprint bukan satu-satunya garis pertahanan. Bot yang menyamar dengan baik ketahuan dari apa yang ia lakukan, bukan dari penampilannya.
False positive: browser bawaan dan WebView
Kesalahan paling sering saat memfilter berdasarkan fingerprint adalah membuang browser bawaan aplikasi. Facebook, Instagram, dan TikTok membuka link di browser bawaan berbasis WebView. Browser ini punya:
- user-agent tidak biasa yang memuat nama aplikasi;
- kemampuan yang dipangkas dibanding browser penuh;
- tanda yang mirip jejak otomatisasi;
- referrer yang sering hilang.
Padahal justru lewat browser bawaan inilah sebagian besar traffic nyata dari media sosial datang. Karena itu tanda otomatisasi pada WebView tidak boleh dianggap bot yang jelas, hanya salah satu sinyal dalam penilaian keseluruhan. Bagaimana label klik platform membantu membedakan kunjungan seperti ini dari bot, dibahas di artikel fbclid, gclid, ttclid.
Cara kerja pemeriksaan browser di ArtisanClo
Di ArtisanClo, pemeriksaan browser adalah langkah tersendiri setelah pengecekan jaringan. Skrip berjalan di browser pengunjung dan melaporkan apa yang dilihatnya; halaman disembunyikan sampai keputusan datang. Beberapa sakelar proteksi bertanggung jawab atas ini:
- Blokir headless: menangkap bot dan auto-clicker yang berpura-pura menjadi browser. Jika jejak otomatisasi jelas, kunjungan langsung dibuang, dengan alasan “Browser headless terdeteksi” di log.
- Wajibkan JS: pengunjung tanpa JavaScript mendapat penalti berat dan diarahkan ke pemeriksaan. Bot dan parser sederhana tersandung di sini.
- Pemeriksaan interaksi nyata: melihat bagaimana mouse dan jari bergerak; manusia bergerak alami, bot tidak. Menambah sedikit waktu tunggu, sehingga diaktifkan untuk platform yang ketat.
- Waktu minimal di halaman: pengunjung yang berada di halaman lebih singkat dari batas yang ditentukan diarahkan ke halaman tunggu dan diperiksa ulang.
Browser bawaan Facebook, Instagram, TikTok, dan WebView di aplikasi dikenali secara terpisah: tanda otomatisasi pada mereka tidak langsung membuang kunjungan, tetapi dihitung dalam skor kepercayaan bersama jaringan, waktu, dan referrer. Untuk kampanye yang hampir seluruh traffic-nya datang dari browser bawaan, disarankan tingkat ketat “Seimbang”.
Robot-browser dengan tanda yang terbukti dan pemalsuan waktu di halaman masuk ke daftar bot bersama sejak pertama kali: kunjungan berikutnya dari alamat itu, ke flow mana pun milik klien mana pun, langsung mendapat White Page.
Di statistik, penolakan dari langkah ini dikumpulkan dalam porsi “Pemeriksaan browser”, sedangkan kunjungan yang tidak menjalankan skrip dan tidak kembali masuk ke “Pemeriksaan tidak kembali”. Jika yang naik adalah porsi “Pemeriksaan browser”, itu sinyal untuk mengecek tingkat ketat: di langkah inilah filter paling sering salah.
Pemeriksaan browser bekerja saat terhubung lewat tag JS maupun file PHP. Perbedaan kedua cara ini ada di artikel cara memasang cloaker di situs, dan daftar lengkap pengecekan di halaman fitur.
Cara membangun proteksi dari headless: langkah praktis
- Mulai dari jaringan. Sebagian besar bot headless berjalan di server; memblokir data center menyaringnya sebelum pemeriksaan browser. Lihat VPN, proxy, dan IP data center.
- Wajibkan JavaScript jika aman. Jika platform mengirim label klik dan traffic datang dari browser biasa, JS wajib menyaring parser tanpa kehilangan pengunjung.
- Aktifkan pemblokiran browser headless di semua flow.
- Pemeriksaan interaksi nyata gunakan untuk traffic mahal dan sumber dengan banyak otomatisasi canggih.
- Jangan memperketat browser bawaan. Untuk media sosial, jangan menyalakan aturan keras yang tidak perlu.
- Lihat alasannya. Jika “Browser headless terdeteksi” massal muncul di traffic mobile dari satu platform, itu alasan untuk menyelidiki, bukan untuk bergembira.
Logika umum proteksi berlapis dibahas di artikel cara menyaring bot, dan daftar ciri yang umum di materi traffic bot: ciri-cirinya.
Browser fingerprint dan privasi: yang perlu diketahui
Kata «fingerprint» sering dikaitkan dengan pelacakan: sistem iklan memakai sidik jari untuk mengenali pengguna tanpa cookie. Di anti-fraud tugasnya lain. Filter tidak perlu tahu siapa pengunjungnya; ia perlu tahu apakah ini browser asli dan apakah ia berperilaku seperti manusia. Karena itu untuk proteksi dari bot yang penting bukan pengenal unik, melainkan konsistensi karakteristik satu sama lain.
Akibat praktisnya: browser terus memangkas apa yang bisa diukur skrip, menambahkan noise pada rendering, menyeragamkan string user-agent, dan menyembunyikan detail perangkat keras. Bagi pengenalan pengguna ini masalah, bagi verifikasi keaslian lebih ringan: kontradiksi antara yang diklaim dan yang nyata tetap ada. Tetapi proteksi yang dibangun di atas satu atau dua tanda «ajaib» lama-lama berhenti bekerja, dan ini satu lagi alasan untuk menilai dari gabungan sinyal.
Contoh: menganalisis kunjungan yang mencurigakan
Misalkan di log ada kunjungan dengan alasan terkait otomatisasi browser. Di kartu klik terlihat:
- jaringan: hosting cloud;
- browser diklaim Chrome terbaru, perangkat: komputer;
- tidak ada label klik iklan;
- pemeriksaan browser kembali dengan tanda pengendalian oleh program.
Semuanya cocok: jaringan server, tidak ada kunjungan dari iklan, jejak otomatisasi. Ini robot pemeriksa atau spy tool klasik.
Sekarang kunjungan lain: operator seluler, browser bawaan media sosial, ada label klik, tanda otomatisasinya lemah. Kunjungan seperti ini tidak boleh dibuang berdasarkan satu tanda; kemungkinan besar ini orang biasa yang membuka iklan di aplikasi.
Perbedaan kedua kunjungan inilah inti penilaian berdasarkan gabungan tanda: pada yang pertama beberapa sinyal independen saling bertentangan sekaligus, pada yang kedua hanya satu, dan itu pun bisa dijelaskan oleh karakteristik browser bawaan. Jika kunjungan jenis kedua banyak di log dan diarahkan ke White Page, longgarkan tingkat ketat untuk platform itu.
Ringkasnya
Browser headless lolos dari pengecekan sederhana, tetapi meninggalkan jejak: flag dan objek otomatisasi, kontradiksi dalam fingerprint, lingkungan server, dan perilaku yang tidak wajar. Browser fingerprint membantu menilai apakah kunjungan mirip perangkat nyata, sedangkan pengecekan perilaku menilai apakah ia bertindak seperti manusia. Aturan utamanya sama seperti di seluruh anti-fraud: yang menentukan adalah kombinasi tanda, bukan satu tanda, karena jika tidak, bersama bot akan ikut terbuang traffic dari browser bawaan media sosial.



