By: Budi Haryono

Tutorial Cara Block Komentar Walau Form Sudah Dimatikan

3, February, 2024 Post in: Web Design
Tutorial Cara Block Komentar Walau Form Sudah Dimatikan

Di sejumlah komunitas banyak pertanyaan seperti: bagaimana cara block komentar spam? gimana cara blokir komentar yang masuk padahal fitur komentar sudah dimatikan? atau kenapa komentar tetap masuk padahal fitur komentar sudah disable pada post?. Untuk itu maka saya tuliskan Tutorial Cara Block Komentar Walau Form Sudah Dimatikan.

Penyebab Terjadinya Komentar Spam Walau Form Sudah Dimatikan

Agar Anda tahu bagaimana itu bisa terjadi mari kita bahas dari penyebabnya terlebih dahulu. Beda penyebab beda juga cara mengatasi spam komentar ini.

Spammer sering menggunakan metode canggih dan beragam untuk mengirimkan komentar spam ke postingan pada website, termasuk WordPress, bahkan ketika formulir komentar tidak tersedia atau telah dinonaktifkan. Berikut beberapa metode yang biasanya digunakan spammer untuk tujuan tersebut:

1. Penggunaan API

  1. API REST WordPress: Spammer dapat menggunakan API REST WordPress untuk mengirimkan komentar ke postingan. API ini memungkinkan pengembangan aplikasi eksternal untuk berinteraksi dengan situs WordPress, termasuk mengirimkan komentar.
  2. XML-RPC: Sebelum WordPress 4.4, XML-RPC sering digunakan untuk integrasi dengan aplikasi eksternal, termasuk pengiriman komentar. Meskipun fungsionalitas ini telah digantikan oleh API REST, beberapa situs yang masih menggunakan versi lama WordPress mungkin rentan melalui XML-RPC.

2. Pengiriman Langsung Melalui HTTP POST

Spammer dapat langsung mengirimkan permintaan HTTP POST ke file wp-comments-post.php, yang merupakan skrip pengolahan komentar di WordPress. Ini bisa dilakukan bahkan tanpa formulir komentar, asalkan spammer mengetahui struktur permintaan yang diperlukan.

3. Penggunaan Bot dan Script Otomatis

  1. Script Otomatis: Spammer sering mengembangkan script yang secara otomatis mengidentifikasi situs WordPress dan mencoba mengirimkan komentar spam menggunakan metode di atas.
  2. Botnet: Dalam beberapa kasus, spammer menggunakan jaringan bot untuk memperluas jangkauan serangan mereka, memungkinkan pengiriman massal komentar spam ke banyak situs secara bersamaan.

4. Eksploitasi Celah Keamanan

  1. Serangan CSRF (Cross-Site Request Forgery): Spammer bisa memanfaatkan celah CSRF untuk memaksa pengguna terautentikasi mengirimkan komentar spam tanpa pengetahuan mereka.
  2. Injeksi SQL: Melalui celah keamanan pada plugin atau tema, spammer mungkin bisa menyuntikkan komentar spam langsung ke database WordPress.

Cara Block Komentar

Pemilik website sering kali menghadapi tantangan dalam mengelola komentar spam. Di WordPress, mematikan formulir komentar adalah langkah awal untuk mengurangi spam, tetapi ini saja terkadang tidak cukup efektif. Spammer dapat menggunakan metode lain untuk mengirimkan komentar, termasuk penggunaan API atau pengiriman langsung melalui HTTP POST. Oleh karena itu, penting untuk menerapkan strategi tambahan untuk memblokir komentar sepenuhnya, bahkan setelah formulir komentar dimatikan. Berikut adalah beberapa metode yang dapat Anda terapkan:

1. Menggunakan Plugin Anti-Spam

Plugin anti-spam seperti Akismet atau Antispam Bee dapat sangat membantu dalam mengidentifikasi dan memblokir komentar spam sebelum mereka dipublikasikan di website Anda. Plugin ini bekerja dengan memeriksa komentar melalui database spam yang terus diperbarui, mengurangi risiko komentar spam yang muncul di website Anda.

2. Menonaktifkan Komentar Melalui Pengaturan WordPress

Langkah pertama adalah menonaktifkan komentar untuk postingan dan halaman baru melalui pengaturan WordPress:

Buka Dashboard WordPress, lalu navigasi ke Pengaturan > Diskusi.

Hilangkan centang pada opsi “Izinkan orang mengirim komentar pada artikel baru”.

Simpan perubahan.

Untuk postingan dan halaman yang sudah ada, Anda perlu secara manual menonaktifkan komentar melalui pengeditan masing-masing postingan atau halaman.

3. Menonaktifkan Komentar Melalui Fungsi

Tambahkan kode berikut ke file functions.php di tema Anda untuk menonaktifkan komentar di seluruh situs:

mm_add_action('init', function() {
    // Nonaktifkan dukungan komentar untuk posting
    mm_remove_post_type_support('post', 'comments');
    // Nonaktifkan dukungan komentar untuk halaman
    mm_remove_post_type_support('page', 'comments');
});

4. Memblokir Akses ke API REST WordPress

Spammer juga dapat menggunakan API REST WordPress untuk mengirimkan komentar. Untuk memblokir akses ke endpoint komentar API REST, tambahkan kode ini ke functions.php:

mm_add_filter('rest_endpoints', function($endpoints) {
    if (isset($endpoints['/wp/v2/comments'])) {
        unset($endpoints['/wp/v2/comments']);
    }
    return $endpoints;
});

5. Menggunakan .htaccess untuk Memblokir Pengiriman Komentar Langsung

Spammer mungkin mencoba mengirimkan komentar langsung ke skrip pengolah komentar WordPress. Anda dapat menambahkan aturan di file .htaccess untuk memblokir akses langsung:

<Files "wp-comments-post.php">
Order Deny,Allow
Deny from all
</Files>

6. Menonaktifkan Melalui .htaccess

Anda bisa menambahkan aturan ke file .htaccess untuk menolak semua permintaan ke file XML-RPC:

<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

7. Menonaktifkan Melalui Fungsi

Anda juga dapat menambahkan kode ke file functions.php di tema Anda untuk menonaktifkan XML-RPC:

mm_add_filter('xmlrpc_enabled', '__return_false');

8. Menggunakan Pengaturan di Hosting

Beberapa penyedia hosting memungkinkan Anda untuk menonaktifkan XML-RPC melalui pengaturan cPanel atau dashboard hosting lainnya. Ini bisa menjadi solusi yang efektif tanpa perlu mengubah kode atau menggunakan plugin.

Sebelum menerapkannya pastikan pada tutorial tersebut ada 2 metoda. Yaitu menggunakan function (PHP) dan menggunakan .htaccess.  Dari kedelapan cara itu Anda bisa memilih satunya atau mengkombinasikannya. Misalnya:

  1. Hanya gunakan cara nomor 5 dan 6 saja atau
  2. Nomor 3, 4 dan 7 saja

Related Posts

BudiHaryono & Team
This site is under construction for more better experience.

Hi, I'm ready to Work

Budi Haryono
X