Mencegat bot pada website (wordpress)

Kemarin 30 Januari 2022 sewaktu membuka bekas.com kok terasa lambat sekali. Padahal ada rencana untuk menambah fitur layanannya.

Sampai sempat mendapati pesan kesalahan:

Service Temporarily Unavailable

Yang menurut hosting provider:

It’s very important everbody know that Dreamhost limits the number of conections at maximum 250. What it does means? Well, if your website received more than 250 conections simultaniously it will be blocked and this message will appear:

Service Temporarily Unavailable

Antara senang dan sedih mendapati hal ini. Senang karena ada kunjungan ramai pada website, sedih karena belum bisa upgrade hosting untuk mengatasi lonjakan ini.

Ketika tampilan awal website akhirnya tampak semua, baru terlihat keanehan pada iklan-iklan yang terpasang, judul iklan dan nama pemasangnya mirip semua.

iklan yang mirip-mirip

Ini adalah indikasi adanya pemasangan konten oleh bot atau script. Otomatis aku login ke server hosting untuk memeriksa log website.

Memeriksa log website

Dreamhost mengijinkan pemilik akun hosting untuk login lewat ssh. Dan itu memudahkan admin untuk menangani masalah seperti ini.

tampilan access log

Terlihat ip address 140.0.94.123 mengakses halaman form dengan intensif.

Memblokir ip addres

Setelah googling sebentar, aku menemukan cara untuk menolak akses dari ip tertentu:
Yaitu dengan menyunting file  .htaccess pada root folder website, tambahkan di awal file:

deny from 140.0.94.123

Kemudian periksa laporan pada error file:

tampilan error log

Ok, mission accomplished, laju website sudah normal lagi.

Hanya saja pertambahan iklan yang mirip tadi tetap berjalan.  Rupanya ada lagi komputer-komputer lain dengan bot untuk memasang iklan dengan akun berbeda-beda.

Sempat terpikir untuk mencari ip address komputer tiap akun tersebut, kemudian memblokir satu-persatu. Tapi itu tentunya makan waktu.

Untuk mudahnya aku pakai cara memaksa semua akun untuk logout dan memasang captcha pada halaman login sehingga bot tidak bisa login lagi dengan mudah. Yang bukan bot tentunya tetap bisa login lagi.

Memaksa semua akun yang login untuk logout

Buka file wp-config.php pada wordpress, cari komentar seperti ini:

Hapus key-key di bawahnya,  ganti dengan key-key yang dihasilkan dari url tersebut.

wp secret key

Mengaktifkan captcha pada login website

Tadinya yang captcha hanya aku pasang pada halaman pendaftaran member baru, sekarang aku pasang pula pada halaman login.

Captcha yang aku gunakan: https://wordpress.org/plugins/google-captcha/

captcha

Dan penambahan iklan-iklan yang mirip akhirnya terhenti.

Wordfence

Aku sempat tanya ke pakdhe lantip (twitter.com/lantip) mengenai hal ini, dan disarankan untuk memasang plugin wordfence: https://wordpress.org/plugins/wordfence/

Sangat membantu untuk melihat apa yang terjadi pada system wordpress:

wordfence tools

Terima kasih Pakdhe!

Leave a Reply

Your email address will not be published. Required fields are marked *