Hushfort

Bagaimana cara mengatasi spam form kontak WordPress tanpa CAPTCHA?

Oleh Eureka Studio · Diperbarui

Jawaban singkat

Untuk mengatasi spam form kontak WordPress, gabungkan beberapa pemeriksaan tak terlihat sebagai pengganti CAPTCHA: kolom honeypot tersembunyi yang hanya diisi bot, waktu pengisian minimum, token yang tetap berfungsi dengan cache halaman, serta batas per IP dan per email. Karantina pesan yang meragukan alih-alih menghapusnya. Plugin lokal bisa melakukan semua ini untuk Elementor, Contact Form 7, dan WPForms tanpa mengirim data ke tempat lain. Di Hushfort, perlindungan plugin formulir adalah bagian dari Pro; plugin gratis hanya mencakup komentar dan ulasan.

Langkah-langkah

  1. 1Langkah 1

    Lihat bot menyerbu formulir Anda

    Bot mengisi setiap kolom yang ditemukannya, termasuk kolom tersembunyi yang tidak pernah dilihat manusia, atau mengirim tanpa memuat halaman sama sekali. Log Hushfort menyebutkan setiap kasus: honeypot terisi, tanpa token, diisi terlalu cepat, terlalu banyak tautan.

    Tabel Log & Karantina Perisai Spam dengan entri formulir kontak WPForms: tanpa token, batas per IP terlampaui, kolom honeypot terisi, terlalu banyak tautan
  2. 2Langkah 2

    Aktifkan Perisai Spam dalam mode Pantau

    Di Hushfort, buka Perisai Spam, aktifkan, lalu atur Mode ke "Hanya catat — mode Pantau, tidak memblokir apa pun". Dengan Hushfort Pro terpasang, biarkan Plugin formulir tetap aktif, lalu simpan. Perisai mencatat apa yang akan diblokirnya tanpa memblokir apa pun dulu.

    Perisai Spam aktif dengan Mode diatur ke Hanya catat — mode Pantau, tidak memblokir apa pun
  3. 3Langkah 3

    Atur batas-batas yang senyap (Pro)

    Biarkan Waktu pengisian minimum tetap singkat (3 detik). Dengan Pro, batasi juga berapa banyak pesan yang bisa dikirim satu IP (Batas per IP) atau satu alamat email (Batas per email) per jam. Pesan dengan tautan lebih banyak dari Tautan maksimum masuk ke karantina.

    Batas Perisai Spam: waktu pengisian minimum 3 detik, batas per IP 5 per jam, batas per email 3 per jam, tautan maksimum 2
  4. 4Langkah 4

    Tinjau log, lalu beralih ke Blokir

    Setelah beberapa hari, lihat apa yang tertangkap oleh mode Pantau. Jika tidak ada pesan asli di dalamnya, atur Mode ke "Blokir (disarankan)" lalu simpan.

    Mode Perisai Spam diubah dari Hanya catat ke Blokir (disarankan) lalu disimpan
  5. 5Langkah 5

    Orang sungguhan tinggal mengirim

    Pengunjung mengetik selama setengah menit, tidak pernah melihat kolom tersembunyi, lalu mengirim. Tanpa teka-teki, tanpa kotak-kotak gambar.

    Seorang pengunjung mengisi formulir kontak toko demo lalu mengirimnya; formulir menjawab Thanks for your message

Untuk mengatasi spam form kontak WordPress tanpa CAPTCHA, gabungkan pemeriksaan tak terlihat: kolom honeypot yang hanya diisi bot, waktu pengisian minimum, token yang tetap berfungsi dengan cache halaman, serta batas per IP dan per email. Pesan yang meragukan dikarantina, bukan dihapus. Di Hushfort Security, plugin keamanan WordPress gratis, perlindungan dasar mencakup komentar dan ulasan; form kontak (Elementor Pro, Contact Form 7, WPForms, dan lainnya) memerlukan Hushfort Pro.

Mengapa ini penting

Spam formulir sebagian besar hanya mengganggu, sampai suatu saat tidak lagi. Spam mengubur pertanyaan yang asli, membuat Anda terbiasa membaca kotak masuk sekilas saja, dan bisa menurunkan reputasi pengiriman server email Anda jika formulir mengirim balasan otomatis. Di situs yang ramai, spam juga menghabiskan waktu server, karena setiap kiriman menjalankan seluruh proses plugin formulir.

Solusi yang biasa, yaitu CAPTCHA, memindahkan bebannya ke pengunjung Anda. Mereka memecahkan teka-teki, sebagian menyerah, dan yang memakai alat privasi malah tersangkut. Sebagian besar layanan CAPTCHA juga memuat kode pihak ketiga dan mengirim data pengunjung keluar dari server Anda.

Ada cara yang lebih senyap. Bot berperilaku berbeda dari manusia dengan cara yang bisa Anda periksa diam-diam:

  • Bot mengisi kolom tersembunyi. Honeypot adalah kolom yang disembunyikan dari manusia tetapi terlihat di HTML. Manusia membiarkannya kosong; bot mengisinya.
  • Bot itu cepat. Manusia butuh beberapa detik untuk mengisi formulir. Bot hanya butuh milidetik.
  • Bot mengulang. Satu IP atau satu alamat email yang mengirim sepuluh pesan dalam satu jam bukanlah pelanggan.
  • Bot menempelkan tautan. Pesan yang penuh tautan jarang merupakan pertanyaan sungguhan.

Kesalahan umum

  • Memblokir alih-alih mengarantina. Saat sebuah pemeriksaan ragu, simpan pesannya untuk ditinjau. Menghapus pertanyaan pelanggan asli lebih buruk daripada membaca satu spam.
  • Langsung ke Blokir. Mulailah dengan mode hanya-catat selama beberapa hari. Periksa apa yang akan diblokir sebelum Anda membiarkannya memblokir.
  • Token yang rusak karena cache. Jika token anti-spam Anda menjadi bagian dari halaman yang di-cache, setiap pengunjung berbagi satu token yang sudah kedaluwarsa. Gunakan perlindungan yang mengambil tokennya saat halaman dimuat.
  • Hanya satu pemeriksaan. Honeypot saja hanya menghentikan bot yang sederhana. Tambahkan pemeriksaan waktu pengisian dan batas.

Tanpa plugin

Sebagian besar plugin formulir sudah punya versi dasar dari fitur ini:

  • Formulir Elementor Pro: tambahkan kolom "Honeypot" dari daftar kolom.
  • Contact Form 7: tambahkan honeypot lewat add-on; CF7 juga mendukung Akismet jika Anda bersedia mengirim data ke layanan tersebut.
  • WPForms: punya token anti-spam bawaan dan honeypot opsional di pengaturan setiap formulir.

Anda juga bisa menambahkan honeypot sederhana secara manual ke formulir apa pun yang Anda kendalikan:

<div style="position:absolute;left:-9999px" aria-hidden="true">
  <label>Leave this empty <input type="text" name="website" tabindex="-1" autocomplete="off"></label>
</div>
<?php
if ( ! empty( $_POST['website'] ) ) {
    wp_die( 'Spam detected.', 403 );
}

Keterbatasannya: setiap plugin formulir melakukannya dengan cara berbeda, biasanya tidak ada batas laju bersama antarformulir, tidak ada karantina untuk menangkap kesalahan, dan tidak ada apa pun untuk komentar atau ulasan. Akhirnya Anda mengonfigurasi ide yang sama lima kali.

Jika terjadi masalah

  • Pesan asli berhenti masuk. Alihkan Perisai Spam ke mode Pantau, kirim pesan uji, lalu lihat log untuk mengetahui pemeriksaan mana yang menangkapnya.
  • Formulir gagal hanya bagi sebagian pengunjung. Bersihkan cache halaman Anda sekali setelah mengaktifkan perlindungan.
  • Spam masih lolos. Turunkan batas tautan, tambahkan kata atau domain ke daftar blokir, atau aktifkan mode ketat untuk formulir yang seharusnya hanya menerima penyedia email yang dikenal.

Dengan Hushfort

Perisai Spam dari Hushfort melindungi komentar dan ulasan WooCommerce di plugin gratis. Plugin formulir memerlukan Hushfort Pro, yang menambahkan enam plugin populer (Elementor Pro, Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Forminator) ke layar yang sama.

  • Honeypot tak terlihat, waktu pengisian minimum, dan token bertanda tangan yang tetap berfungsi dengan cache halaman. Token berasal dari skrip mungil sekitar 2 KB tanpa cookie.
  • Pro: secara bawaan, batas per IP (5 per jam) dan per email (3 per jam); pesan dengan lebih dari 2 tautan masuk ke karantina.
  • Pro: daftar sekitar 9.900 domain email sekali pakai, daftar blokir Anda sendiri, dan filter kata.
  • Pro: karantina dengan pembelajaran "Bukan spam".
  • Punya mode Pantau, sehingga Anda bisa melihat apa yang akan diblokirnya sebelum benar-benar memblokir.

Tanpa CAPTCHA, tanpa API eksternal, dan tidak ada data formulir yang pernah keluar dari server Anda.

Pertanyaan umum

Apakah honeypot benar-benar menghentikan spam formulir?

Honeypot menghentikan sebagian besar bot otomatis, yang mengisi setiap kolom yang ditemukannya. Beberapa bot yang lebih pintar melewati kolom tersembunyi, karena itulah pemeriksaan waktu pengisian dan batas per IP berjaga di belakang honeypot.

Mengapa sebaiknya menghindari reCAPTCHA?

reCAPTCHA merepotkan pengunjung asli, bisa gagal bagi orang yang memakai alat privasi, dan mengirim data pengunjung ke pihak ketiga. Banyak pemilik situs juga mendapati bahwa reCAPTCHA memerlukan pemberitahuan cookie.

Apakah ini berfungsi dengan cache halaman?

Ya, asalkan token diambil saat halaman dimuat, bukan ditanamkan di HTML yang di-cache. Jika tidak, setiap pengunjung mendapat token basi yang sama dan formulir gagal.

Plugin formulir apa saja yang dicakup?

Dengan Hushfort Pro, Perisai Spam mencakup formulir Elementor Pro, Contact Form 7, WPForms, Gravity Forms, Fluent Forms, dan Forminator. Plugin gratis hanya mencakup komentar dan ulasan WooCommerce.

Apa yang terjadi pada pesan yang tampak seperti spam tetapi mungkin asli?

Dengan Hushfort Pro, pesan itu masuk ke karantina, bukan dihapus. Tandai "Bukan spam" maka pesan itu diteruskan, dan perisai belajar darinya.

Laporkan bug atau minta fitur

Pesan Anda langsung diterima tim yang membangun Hushfort.

Tentang apa?

Hanya dipakai untuk membalas Anda.

Data ini hanya kami pakai untuk membalas Anda. Privasi