Membuat Sistem Captcha dengan PHP

Advan – Sistem CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) sangat penting untuk menghindari bot yang mengakses atau melakukan spam pada situs web kamu. Dengan CAPTCHA, kamu bisa memastikan bahwa pengguna yang berinteraksi dengan form atau aplikasi adalah manusia, bukan bot. Membuat sistem CAPTCHA dengan PHP sebenarnya cukup mudah dan efisien. Artikel ini akan membahas langkah-langkah untuk membuat CAPTCHA sederhana, yang bisa kamu implementasikan di berbagai proyek web untuk meningkatkan keamanan.

Memahami Dasar-dasar CAPTCHA

Sebelum memulai, penting untuk memahami bagaimana CAPTCHA bekerja. Secara umum, CAPTCHA menampilkan gambar berisi teks acak yang harus dimasukkan oleh pengguna. Sistem ini dirancang agar bot kesulitan memproses dan meniru input manusia.

Dengan PHP, kamu bisa membuat CAPTCHA sederhana menggunakan kombinasi angka dan huruf. Selanjutnya, kita akan membahas bagaimana kamu bisa membuatnya sendiri.

1. Buat Gambar CAPTCHA dengan PHP

Langkah pertama adalah membuat gambar CAPTCHA yang berisi teks acak. PHP menyediakan fungsi imagettftext() untuk menampilkan teks pada gambar. Kamu bisa memulai dengan membuat script PHP yang menghasilkan gambar secara dinamis.

  • $captcha_text = substr(str_shuffle(“0123456789abcdefghijklmnopqrstuvwxyz”), 0, 6);
  • $_SESSION[‘captcha’] = $captcha_text;
  • $image = imagecreatetruecolor(120, 40);
  • $bg_color = imagecolorallocate($image, 255, 255, 255);
  • $text_color = imagecolorallocate($image, 0, 0, 0);imagefilledrectangle($image, 0, 0, 120, 40, $bg_color); imagettftext($image, 20, 0, 10, 30,
  • $text_color, “font.ttf”, $captcha_text);
    header(‘Content-Type: image/png’);
    imagepng($image);
    imagedestroy($image);

Pada kode di atas, kita menghasilkan teks acak dan menyimpannya di session. Kemudian, teks tersebut ditampilkan dalam gambar yang dihasilkan.

2. Tampilkan Gambar CAPTCHA di Form

Setelah berhasil membuat gambar CAPTCHA, langkah selanjutnya adalah menampilkan gambar tersebut di form login atau registrasi kamu. Gambar ini harus dimasukkan dalam elemen form, sehingga pengguna bisa melihat dan mengetik ulang kode yang ditampilkan.

  • <form method=”post” action=”submit.php”>
  • <img src=”captcha.php” alt=”CAPTCHA Image”>
  • <input type=”text” name=”captcha_input” placeholder=”Masukkan CAPTCHA”>
  • <button type=”submit”>Submit</button>
    </form>

Di sini, gambar CAPTCHA akan ditampilkan, dan pengguna harus memasukkan teks yang terlihat ke dalam kolom input.

3. Verifikasi Input CAPTCHA dari Pengguna

Selanjutnya, setelah pengguna memasukkan teks CAPTCHA, kamu harus memverifikasi apakah input tersebut sesuai dengan yang ditampilkan. Ini dilakukan dengan mencocokkan input pengguna dengan teks CAPTCHA yang disimpan di session.

  • session_start();
    if ($_POST[‘captcha_input’] == $_SESSION[‘captcha’]) {
    echo “CAPTCHA benar!”;} else {
    echo “CAPTCHA salah, silakan coba lagi.”;}

Kode di atas akan mengecek apakah input dari pengguna cocok dengan CAPTCHA yang dihasilkan. Jika benar, maka form akan diproses. Jika salah, pengguna akan diminta untuk mencoba lagi.

4. Menambahkan Distorsi pada Gambar CAPTCHA

Untuk membuat CAPTCHA lebih sulit dipecahkan oleh bot, kamu bisa menambahkan sedikit distorsi pada gambar. Distorsi bisa berupa garis-garis acak, titik-titik, atau memutar teks. Dengan begitu, bot akan kesulitan mengenali teks.

  • for ($i = 0; $i < 5; $i++) {
    imageline($image, rand(0, 120), rand(0, 40), rand(0, 120), rand(0, 40), $text_color);}

Dengan menambahkan garis acak seperti di atas, gambar CAPTCHA akan lebih rumit dan bot semakin kesulitan memecahkannya.

5. Optimasi Sistem CAPTCHA

Terakhir, pastikan sistem CAPTCHA yang kamu buat ringan dan efisien. Jangan membuat gambar terlalu besar atau sulit dibaca oleh manusia. Jaga keseimbangan antara keamanan dan kenyamanan pengguna. Selain itu, perbarui kode CAPTCHA setiap kali halaman dimuat ulang untuk mencegah bot dari penyalahgunaan.

Menggunakan session untuk menyimpan teks CAPTCHA adalah cara yang efektif untuk menjaga kode dari disalahgunakan. Pastikan untuk memvalidasi input dan menjaga form dari serangan CSRF (Cross-Site Request Forgery).

Baca Juga: Bagaimana Cara Menggunakan PHPMailer untuk Mengirim Email di PHP dengan Mudah?

Meningkatkan Keamanan dengan Sistem CAPTCHA

Mengimplementasikan CAPTCHA adalah salah satu langkah penting dalam menjaga keamanan situs web. CAPTCHA sederhana yang dibuat dengan PHP bisa membantu kamu mencegah bot atau script otomatis yang merugikan, seperti spam form atau brute-force login.

Dengan mengikuti langkah-langkah di atas, kamu bisa membuat sistem CAPTCHA sederhana dengan PHP yang efisien dan efektif untuk melindungi situs web dari serangan bot. Pastikan CAPTCHA kamu selalu diperbarui dan ditampilkan dengan jelas agar pengguna mudah memahaminya.

Jika kamu sedang mencari laptop yang bisa mendukung pengembangan web, Laptop Advan Workpro adalah pilihan tepat. Dengan spesifikasi unggul, seperti prosesor Intel yang cepat, RAM 8GB, dan penyimpanan SSD yang luas, Laptop Advan Workpro memastikan kinerja optimal untuk multitasking dan pengembangan sistem seperti CAPTCHA.

Laptop ini juga mendukung produktivitas tinggi dengan layar lebar 14 inci yang nyaman untuk coding. Dapatkan Laptop Advan Workpro sekarang dan rasakan perbedaan performanya, sekarang juga!***

Editor: Andik Chefasa

Leave a Reply

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