Di dunia web, ada yang namanya bot. Google dan Bing punya bot-nya sendiri, yaitu bot crawler yang digunakan untuk mengunjungi suatu halaman situs agar dapat ditentukan apakah halaman itu bisa di-index oleh mereka atau tidak. Selain bot crawler yang dimiliki oleh Google, Bing, dan Search Engine lainnya, ada banyak sekali jenis bot. Mari kita bahas sedikit mengenai bot.
Bot baik
Bot baik secara sederhana adalah bot yang mengidentifikasikan dirinya sebagai bot. Identifikasi ini sendiri biasanya ada pada user-agent
-nya. Bot crawler seperti Google dan Bing itu sendiri termasuk ke dalam kategori bot baik. Contoh user-agent
dari bot crawler Google:Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.7103.113 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
dan bot crawler Bing:Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36
.
Bot jahat
Bot jahat merupakan kebalikan dari bot baik. Bot jahat ini biasanya menyamarkan dirinya sebagai user asli, sehingga cara mendeteksinya tidak bisa dengan cara mudah seperti mendeteksi bot baik. Bot jahat biasanya digunakan oleh scraping data dalam jumlah besar tanpa izin, spam, serangan DDoS atau aktivitas lainnya yang tidak baik atau yang bersifat merugikan.
Cara membedakan bot baik, bot jahat, dan pengunjung asli
Kamu dapat membedakan pengunjung asli dengan bot baik dengan cukup mudah, yaitu dengan melihat dari user-agent
-nya. Kalau saya dengan cara menggunakan module isbot untuk mengecek apakah pengunjung adalah bot atau user. Kekurangannya, isbot hanya dapat membedakan bot baik dengan user saja. Sedangkan bot jahat tidak akan ter-detect oleh isbot.
Untuk mendeteksi bot jahat, kamu perlu mencari tahu apa pola dari bot jahat itu sendiri. Kalau dari yang saya temui selama ini kurang lebih ada empat pola dari bot jahat, pertama bot jahat tidak pernah memiliki referrer
URL. Akan tetapi, perlu diingat kalau referrer
URL yang kosong tidak pasti 100% kalau itu bot jahat karena bisa saja user asli yang mengunjungi halaman web secara direct atau lewat bookmark.
Kedua, bot jahat sering menggunakan browser yang sudah outdated. Hal ini bisa membantumu untuk menentukan apakah ini user asli atau bot jahat. Sama seperti dengan referrer
URL yang kosong, browser yang outdated tidak bisa dijadikan patokan 100% untuk menentukan bot jahat karena ada juga kemungkinan user asli yang menggunakan browser yang sudah outdated.
Ketiga, bot jahat biasanya mengunjungi banyak halaman dalam waktu yang cepat. Biasanya dalam waktu kurang dari 10 detik bisa mengunjungi 10 halaman, bahkan lebih.
Keempat, request header bot jahat biasanya tidak lengkap. Beda dengan browsesr asli, biasanya bot tidak memiliki request header yang lengkap seperti Accept
atau Accept-Language
.
Itu tadi pola-pola bot jahat yang saya temui selama ini. Kamu bisa menggunakan kombinasi dari pola-pola di atas untuk menentukan apakah request dari pengunjung asli atau bot jahat.
Menjebak bot jahat
Ada satu cara untuk menjebak bot jahat. Namanya adalah honeypot trap. Jika kamu ada sebuah form di halaman websitemu, tambahkan satu field rahasia dengan cara:
<input name="full_name" style="display: none !important;" tabindex="-1" autocomplete="off">
Field ini disembunyikan dengan menggunakan CSS display: none;
. Pastikan juga kamu menambahkan atribut tabindex="-1"
agar user tidak bisa men-tab ke field ini, dan atribut autocomplete="off"
untuk memastikan agar field tidak terisi secara otomatis.
Kamu bingung kenapa harus menambahkan field ini? Bagaimana field ini bisa menjebak bot jahat? Simpel saja. Karena field ini tidak terlihat oleh user asli dan bot jahat biasanya mengisi semua field pada form secara otomatis, maka di-backend kamu tinggal mengecek apakah field ini kosong atau tidak untuk menentukan apakah yang mengisi form tersebut bot atau user asli. Simpel bukan?
Selain form, kamu juga bisa menambahkan sebuah link tersembunyi dengan cara:
<a href="/your-honeypot-url" style="display: none !important;" tabindex="-1">Get random page</a>
Sama halnya dengan form, kamu cukup menyembunyikan link ini dengan menggunakan CSS display: none;
. Dan tabindex="-1"
agar tidak dapat di-tab oleh user. Untuk user asli, link ini tidak akan terlihat. Sedangkan untuk bot, mereka akan mengunjungi link tersebut, meskipun link itu tidak terlihat di halaman. Nah, jika ada yang mengunjungi halaman tersembunyi ini, maka dapat dikatakan kalau ini adalah bot jahat.
Pastikan kamu hanya menjebak bot jahat saja, dan jangan menjebak bot baik. Tampilkan form dan link tersembunyi untuk kemungkinan bot jahat, dan hilangkan kalau bot baik yang sedang berkunjung.
Blog Yang Mirip
Mau Cari Blog Yang Lain?
Cari blog lain di sini
Konten Yang Mirip
Konten yang mirip dengan konten ini



Mungkin Kamu Juga Suka
Konten yang mungkin kamu juga suka



Konten Lainnya
Konten lainnya yang bisa kamu jelajahi
Blog Informatif
Baca-baca blog topik random. Ada berbagai macam topik random yang tersedia, seperti game, pemrograman, dan banyak lagi. Mungkin terlalu random.
Resource Gratis
Di sini tersedia berbagai macam resource yang bisa kamu download secara gratis. Untuk saat ini tersedia pixel arts.
Online Tools
Tool untuk mempermudah pekerjaanmu. Mau mendapatkan angka acak? Kamu bisa pakai Random Number Generator. Mau menghitung berat badan idealmu? Kamu bisa pakai BMI Calculator. Di sini tersedia berbagai macam tool yang bisa kamu gunakan secara gratis.
Game Sederhana
Bosan? Bingung mau ngapain? Ayo main game-game sederhana, seperti Tic Tac Toe, Simple Math, dan semacamnya.
Daftar Singkatan
Mungkin kamu pernah dengar atau lihat sebuah kata yang cukup asing, seperti YGY, GG, dan lainnya. Di sini, kamu bisa cari tahu apa sih arti dari kata-kata tersebut. Selain itu, kamu juga bisa mencari tahu mengenai abreviasi/singkatan lainnya yang mungkin kamu belum tahu sebelumnya di koleksi abreviasi yang sudah dikumpulkan.