2 Cara Mematikan Fitur Search Di WordPress

Beberapa waktu lalu, salah satu situs / blog saya yang berbasis WordPress mengalami serangan spam yang memanfaatkan fitur pencarian on-site. Serangan tersebut berasal dari sebuah situs dating online. Saya bukanlah satu-satunya korban. Jika di-googling, ada banyak sekali situs lain yang sudah terdampak. Bisa dicoba sendiri via kata kunci “best dating site datesol”. Gak berani kasih live link ke Google, ntar malah dikira ikutan nyepam, hehehe. Yang jelas, kasus ini memaksa saya untuk sementara mematikan fitur Search di WordPress. Bagaimana caranya?

Bagaimana Asal Mulanya?

Saya pribadi mengetahui adanya spam attack ini secara tidak sengaja. Iseng cek Error Log di server, lah kok ternyata muncul baris-baris error yang mencurigakan.

log error search attack

log error search attack

Atau lebih jelasnya seperti ini contohnya.

2021-04-18 17:50:13.689847 [NOTICE] [30000] [162.158.123.241:41512#domainsaya.com] [STDERR] WordPress database error Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_unicode_ci,COERCIBLE) for operation ‘like’ for query SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND (((wp_posts.post_title LIKE ‘%………….www.datesol.xyz………….Ihren Tanzkurs in Michelfeld Kreis Schw..bisch …………. DATING SITE Ihren Tanzkurs in Michelfeld Kreis Schw..bisch, Ihren Tanzkurs in Michelfeld Kreis Schw..bisch Ihren Tanzkurs in Michelfeld Kreis Schw..bisch, Ihren Tanzkurs in Michelfeld Kreis Schw..bisch | Ihren Tanzkurs in Michelfeld Kreis Schw..bisch, Ihren Tanzkurs in Michelfeld Kreis Schw..bisch DATING BEST SITE Ihren Tanzkurs in Michelfeld Kreis Schw..bisch Ihren Tanzkurs in Michelfeld Kreis Schw..bisch ………….www.datesol.xyz………….%’) OR (wp_posts.post_excerpt LIKE ‘%………….www.datesol.xyz………….Ihren Tanzkurs in Michelfeld Kreis Schw..bisch …………. DATING SITE Ihren Tanzkurs in Michelfeld Kreis Schw..bisch, Ihren Tanzkurs in Michelfeld Kreis Schw..bisch Ihren Tanzkurs in Michelfeld Kreis Schw..bisch, Ihren Tanzkurs in Michelfeld Kreis Schw..bisch | Ihren Tanzkurs in Michelfeld Kreis Schw..bisch, Ihren Tanzkurs in Michelfeld Kreis Schw..bisch DATING BEST SITE Ihren Tanzkurs in Michelfeld Kreis Schw..bisch Ihren Tanzkurs in Michelfeld Kreis Schw..bisch ………….www.datesol.xyz………….%’) OR (wp_posts.post_content LIKE ‘%………….www.datesol.xyz………….Ihren Tanzkurs in Michelfeld Kreis Schw..bisch …………. DATING SITE Ihren Tanzkurs in Michelfeld Kreis Schw..bisch, Ihren Tanzkurs in Michelfeld Kreis Schw..bisch Ihren Tanzkurs in Michelfeld Kreis Schw..bisch, Ihren Tanzkurs in Michelfeld Kreis Schw..bisch | Ihren Tanzkurs in Michelfeld Kreis Schw..bisch, Ihren Tanzkurs in Michelfeld Kreis Schw..bisch DATING BEST SITE Ihren Tanzkurs in Michelfeld Kreis Schw..bisch Ihren Tanzkurs in Michelfeld Kreis Schw..bisch ………….www.datesol.xyz………….%’))) AND (wp_posts.post_password = ”) AND wp_posts.post_type

Awalnya saya pikir masalahnya ada pada aturan Database Collation yang digunakan di blog yang bersangkutan. Setelah diperhatikan lebih jauh, sumbernya justru ada pada query yang berhubungan dengan pencarian konten di dalam blog tersebut.

Apa Tujuannya?

Jadi, siapa pun yang membuat script / virus / bot / apalah ini, bertujuan untuk mempromosikan situs dating online miliknya yang berlokasi di datesol.xyz. Jelas bukan itu saja situsnya. Saya sempat memergoki ada domain lain yang dipromosikan di Error Log. Sayang tidak saya catat.

Kenapa melakukan spam attack melalui fitur pencarian WordPress?

Kemungkinan besar tidak khusus yang berbasis WordPress. Walau saya belum bisa memastikan 100%.

Targetnya adalah situs-situs yang membiarkan halaman hasil pencarian mereka ter-index di Google. Dengan demikian, secara otomatis konten spam mereka tercatat dan terpublikasikan.

Bahkan situs Unesco juga jadi salah satu korbannya!

korban spam attack datesol

korban spam attack datesol

Sekali lagi, untuk menyimak contohnya secara real, langsung saja coba gugling dengan menggunakan kata kunci yang sudah saya sebutkan di paragraf pertama.

Bagaimana Cara Mematikan Fitur Search Di WordPress?

Ada dua cara yang bisa digunakan untuk mematikan fitur Search di WordPress. Yaitu dengan menggunakan plugin atau dengan menambahkan kode PHP secara manual di file functions.php.

Menggunakan Plugin

Ini cara yang paling praktis dan bisa dilakukan oleh siapa saja. Termasuk yang tidak punya kemampuan dasar soal teknis sekali pun.

Cukup dengan masuk ke halaman Plugins melalui menu di Dashboard WordPress. Pilih Add New, lalu ketik “disable search” di kotak pencarian plugin. Seperti ini ikonnya.

plugin disable search

plugin disable search

Klik Install Now, lalu Activate. Selesai.

Plugin Disable Search ini tidak membutuhkan pengaturan apa pun. Aktifkan jika teman-teman ingin menghilangkan fitur pencarian di blog, non-aktifkan jika ingin mengembalikan fitur tersebut. Simpel, kan?

Mengedit File functions.php

Cara yang satu ini membutuhkan sedikit pengetahuan teknis dan tidak disarankan bagi pemula atau pengguna awam. Pasalnya, sedikit kesalahan bisa mengakibatkan blog Anda tidak berfungsi. Ingat, ya, ges.

Melalui menu AppearanceTheme Editor, buka file functions.php.

Di bagian bawah, tambahkan kode berikut ini.

function ccc_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
if ( $error == true )
$query->is_404 = true;
}
}
add_action( 'parse_query', 'ccc_filter_query' );

Jangan lupa klik Update File untuk menyimpan penambahan baris kode tersebut.

Deretan kode di atas akan menghilangkan fitur pencarian di blog sekaligus mengarahkan halaman hasil pencarian ke halaman 404.

Jika ingin lebih lengkap, bisa juga ditambahkan baris kode di bawah ini.

add_filter( 'get_search_form', create_function( '$a', "return null;" ) );
function remove_search_widget() {
unregister_widget('WP_Widget_Search');
}
add_action( 'widgets_init', 'remove_search_widget' );

Baris pertama berfungsi untuk menghilangkan tampilan form pencarian yang biasanya dipanggil melalui perintah ‘get_search_form()’. Jika kode di atas ditambahkan, maka pemanggilan form pencarian akan menghasilkan baris kosong.

Untuk baris kode sisanya berguna untuk menghilangkan widget search sehingga kita tidak bisa lagi menggunakannya maupun menambahkannya di Sidebar.

Penutup

Meski di sini saya menggunakan kasus spam attack sebagai contoh, tips mematikan fitur pencarian di atas bisa digunakan kapan saja jika dibutuhkan. Tidak harus menunggu di-spam terlebih dahulu. Saya pribadi menggunakan trik yang sedikit berbeda karena masih membutuhkan fitur tersebut di situs saya. Minggu depan saja dibahasnya, hehehe.

cara mematikan fitur search di wordpress

Leave a Reply