Kembali ke blog
Dasar-dasar Diterbitkan 28.09.2026 Waktu baca 5 menit

Formulir kontak WordPress: daftar periksa keamanan

Contact Form 7, WPForms, Gravity Forms, Ninja Forms, atau Fluent Forms – cara konfigurasi dan pemeliharaannya lebih penting daripada pilihan pluginnya. Berikut hal yang perlu diperiksa dan diperiksa ulang setelah setiap pembaruan.

Sebagian besar situs WordPress menggunakan salah satu dari sejumlah kecil plugin formulir: Contact Form 7, WPForms, Gravity Forms, Ninja Forms, Fluent Forms, dan beberapa lainnya. Semuanya dapat dijalankan dengan aman atau dibiarkan terbuka lebar. Perbedaannya jarang terletak pada plugin itu sendiri, melainkan pada pengaturannya, pengaya di sekitarnya, bagaimana email meninggalkan server, dan apa yang terjadi pada pesan setelah diterima.

  • Selalu perbarui plugin formulir dan setiap pengayanya, serta hapus yang tidak lagi Anda gunakan.
  • Aktifkan antispam bawaan plugin – honeypot, integrasi CAPTCHA, Akismet jika sesuai – dan pastikan benar-benar berfungsi.
  • Kirim notifikasi melalui SMTP dengan autentikasi dari alamat pada domain Anda sendiri.
  • Batasi unggahan berdasarkan jenis dan ukuran, serta cegah berkas yang diunggah agar tidak dapat didaftarkan atau ditelusuri secara publik.
  • Jauhkan alamat email penerima dari halaman dan kode sumbernya.
  • Simpan hanya entri yang Anda butuhkan, dan hanya selama Anda membutuhkannya.
  • Jalankan pemeriksaan singkat setelah setiap pembaruan WordPress, tema, atau plugin apa pun.

Pembaruan: plugin formulir dan segala sesuatu di sekitarnya

Plugin formulir merupakan sasaran populer karena menerima input dari siapa pun di internet. Perbaikan keamanan hadir sebagai pembaruan biasa, jadi segera perbarui – dan bukan hanya plugin utamanya. Pengaya untuk pembayaran, unggahan, koneksi CRM, logika bersyarat, atau penyedia CAPTCHA tambahan merupakan kode terpisah dengan kerentanannya sendiri. Begitu pula plugin yang pernah Anda pasang untuk pengujian lalu terlupakan. Menonaktifkan saja tidak cukup: plugin nonaktif tetap berada di server, dan berkasnya dalam beberapa kasus dapat diakses secara langsung. Jika tidak digunakan, hapus.

Antispam: aktifkan, lalu buktikan bahwa itu berfungsi

Sebagian besar plugin formulir memiliki pilihan antispam sendiri atau terintegrasi dengan layanan eksternal: kolom honeypot yang diisi bot tetapi tidak pernah dilihat manusia, CAPTCHA seperti reCAPTCHA, hCaptcha, atau Cloudflare Turnstile, serta Akismet, yang memeriksa isi pesan terhadap basis data spam. Pilihannya berbeda menurut plugin dan versi, jadi periksa pengaturannya alih-alih berasumsi. CAPTCHA eksternal memuat skrip dari pihak ketiga, dan Akismet mengirim isi yang dikirimkan ke layanan eksternal – keduanya harus dicantumkan dalam Kebijakan Privasi Anda dan, bergantung pada konfigurasi, dalam pengelolaan persetujuan Anda.

Masalah yang lebih umum adalah perlindungan yang diaktifkan tetapi tidak berfungsi. CAPTCHA yang menggunakan kunci uji publik meloloskan semuanya. Widget yang skripnya diblokir oleh plugin cache atau optimasi, atau oleh kesalahan JavaScript, tidak menghentikan apa pun. Kolom honeypot tanpa gaya yang menyembunyikannya dibacakan oleh pembaca layar dan diisi oleh pengunjung sungguhan. Jadi, setelah perubahan apa pun, buka formulir di jendela privat, periksa konsol browser dan sumber halaman, lalu kirim pesan uji. Jika Anda menginginkan perlindungan yang tidak bergantung pada Google, plugin WordPress formexposed gratis menambahkan honeypot, pemeriksaan waktu, dan proof-of-work serta memeriksa ulang situs setelah pembaruan plugin – salah satu dari beberapa pilihan.

Email: bagaimana dikirim dan ke mana tujuannya

Secara bawaan, WordPress menyerahkan email kepada fungsi email PHP server, dan pada banyak hosting pesan tersebut tidak diautentikasi dengan baik sehingga masuk ke spam – atau hilang tanpa tanda. Sebagai gantinya, kirim melalui plugin SMTP atau layanan email penyedia hosting Anda, menggunakan kotak email sungguhan dengan nama pengguna dan kata sandi serta alamat pengirim pada domain Anda sendiri, seperti alamat forms@ khusus. Catatan SPF, DKIM, dan DMARC domain harus mencakup pengirim ini. Jangan tempatkan alamat pengunjung di kolom From: itu bukan domain Anda, sehingga pesan tidak dapat lolos penyelarasan DMARC dan, bergantung pada kebijakan domain pengunjung, masuk ke spam atau ditolak. Tetapkan alamat tersebut sebagai Reply-To, dan Anda tetap dapat membalas dengan satu klik.

Alamat penerima seharusnya berada dalam pengaturan plugin, bukan di halaman. Periksa sumber halaman kontak Anda: tautan mailto di sebelah formulir, atau kolom tersembunyi yang berisi alamat penerima, menyerahkan alamat tersebut kepada setiap bot pengumpul. Pada formulir lama atau yang dibuat khusus, situasinya bisa lebih buruk – jika server mempercayai kolom penerima tersembunyi, siapa pun dapat mengubahnya dan menggunakan formulir Anda untuk mengirim email ke alamat sembarang.

Unggahan dan entri tersimpan

Unggahan berkas merupakan fitur formulir yang paling berisiko, jadi pertama-tama tanyakan apakah Anda benar-benar membutuhkannya. Jika ya, izinkan hanya jenis yang benar-benar Anda harapkan – misalnya PDF dan format gambar umum – alih-alih memblokir beberapa jenis berbahaya, dan tetapkan batas ukuran. Periksa tempat plugin menyimpan unggahan: berkas tidak boleh dapat didaftarkan dalam direktori publik dan idealnya sama sekali tidak dapat dijangkau melalui alamat yang mudah ditebak. Hapus setelah selesai ditangani, atau kirim sebagai lampiran alih-alih menyimpannya di server.

Banyak plugin formulir atau pengayanya menyimpan setiap pengiriman dalam basis data WordPress, sering kali termasuk spam. Ini merupakan cadangan yang berguna ketika email gagal, tetapi juga tumpukan data pribadi yang terus bertambah. Berdasarkan prinsip pembatasan penyimpanan GDPR (Pasal 5(1)(e)), data tersebut tidak boleh disimpan lebih lama dari yang diperlukan. Tentukan apakah Anda memerlukan entri tersimpan, kolom apa saja, dan berapa lama, lalu gunakan pengaturan penghapusan otomatis plugin jika tersedia, atau hapus entri lama secara rutin. Cadangan basis data berisi data yang sama.

Setelah setiap pembaruan

  1. 1Buka halaman kontak di jendela privat: formulir dan elemen antispamnya tampil dengan benar, dan konsol browser tidak menunjukkan kesalahan.
  2. 2Lihat sumber halaman: kolom honeypot dan skrip CAPTCHA masih ada, sedangkan alamat penerima tidak ada.
  3. 3Kirim pesan uji: pesan masuk ke kotak masuk, bukan spam, dan header menunjukkan bahwa SPF, DKIM, dan DMARC lolos.
  4. 4Periksa pengaturan penting: penerima, alamat pengirim, jenis dan ukuran unggahan yang diizinkan, serta lama penyimpanan entri.
  5. 5Periksa apakah tautan Kebijakan Privasi dan teks persetujuan masih ditampilkan pada formulir.
  6. 6Catat tanggal dan apa yang Anda periksa agar Anda tahu kapan formulir terakhir terbukti berfungsi.

Setelah menjadi rutinitas, ini hanya memerlukan sedikit waktu dan menangkap tepat kegagalan diam-diam yang jika tidak diperiksa dapat luput selama berminggu-minggu. Untuk sudut pandang dari luar, pemeriksaan gratis di formexposed.com mengamati halaman formulir publik situs tanpa mengirim apa pun dan menunjukkan apakah perlindungan yang Anda harapkan tersedia serta dikonfigurasi secara efektif – tanpa perlu akun.