-->

Cara membuat validasi captcha dengan PHP

Pada kesempatan kali ini saya akan memberikan tutorial untuk membuat captcha sederhana dengan PHP. Kita ketahui untuk menghindari inputan yang tidak valid di form maka di perlukan validasi captcha agar inputan yang masuk adalah bukan inputan robot dan benar benar manusia yang melakukan input pada form yang kita buat.

Karena banyaknya inputan yang tidak valid atau spam robot yang sering menyerang form - form yang belum memiliki validasi captcha maka sangat penting untuk anda memiliki form yang sudah di validasi dengan captcha sehingga terhidar dari spam robot dan inputan yang masuk di form adalah benar - benar inputan manusia.

Untuk membuat captcha pertama - tama buatlah sebuah folder dengan nama captcha di direktori c:/xampp/htdocs kemudian copy dan pastekan kode di bawah ini simpan dengan nama file generate.php file ini nantinya akan menjadi generator untuk menampilkan kombinasi huruf dan angka yang digunakan untuk validasi captcha

Fle generate.php

<?php
    session_start();
    function acakCaptcha() {
        $kode = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";
    
        $pass = array(); 

        $panjangkode = strlen($kode) - 2; 
        for ($i = 0; $i < 5; $i++) {
            $n = rand(0, $panjangkode);
            $pass[] = $kode[$n];
        }
    
        return implode($pass); 
    }
    
    //hasil kode acak disimpan di $code
    $code = acakCaptcha();

    //kode acak disimpan di dalam session agar data dapat dipassing ke halaman lain
    $_SESSION["code"] = $code;
    

    //membuat background
    $wh = imagecreatetruecolor(173, 50);
    
    $bgc = imagecolorallocate($wh, 22, 86, 165);
    
    //membuat text warna 
    $fc = imagecolorallocate($wh, 223, 230, 233);
    imagefill($wh, 0, 0, $bgc);
    
    imagestring($wh, 10, 50, 15,  $code, $fc);


    //membuat gambar
    header('content-type: image/jpg');

    imagejpeg($wh);

    imagedestroy($wh);
?>

Selanjutnya silahkan simpan file berikut di direktori c:/xampp/htdocs/captcha yang sudah di buat sebelumnya, copy kode di bawah ini dan simpan sebagai index.php

File index.php

<html>
    <head>
        <title>Latihan Capcha dengan PHP | www.hakkoblogs.com</title>
        <meta name="description" content="Latihan captcha php">
        <meta name="keyword" content="Latihan captcha PHP">
        <meta name="author" content="Hakko Bio Richard">
    </head>
    <body>
    <?php
session_start();

 if(isset($_POST['input'])){ 
   
   if($_SESSION["code"] != $_POST["kode"]){
      echo "<script>alert('captcha yang anda masukkan salah');window.history.go(-1);</script>";
   } else {
    date_default_timezone_set('Asia/Jakarta');
    $tanggal   = date("Y-m-d");
    $jam       = date("H:i:s");  
    $nama      = $_POST['nama'];
    $email     = $_POST['email'];
    $alamat    = $_POST['alamat'];

    echo "<h3>Data yang anda masukkan adalah</h3><br/>";
    echo "Tanggal : $tanggal <br/>";
    echo "Jam : $jam <br/>";
    echo "Nama Anda : $nama<br/>";
    echo "Email Anda : $email'.<br/>";
    echo "Alamat Anda : $alamat";

}

}
?>
<h1>Form dengan captcha PHP | www.hakkoblogs.com</h1>
        <form name="form1" id="form1" method="POST" action="">
            <table>
                <tr>
                    <td>Nama</td>
                    <td>:</td>
                    <td><input type="text" name="nama" id="nama" placeholder="Nama Anda" /></td>
                </tr>
                <tr>
                    <td>Email</td>
                    <td>:</td>
                    <td><input type="email" name="email" id="email" placeholder="Email Anda" /></td>
                </tr>
                <tr>
                    <td>Alamat</td>
                    <td>:</td>
                    <td><input type="text" name="alamat" id="alamat" placeholder="Alamat Anda" /></td>
                </tr>
                <tr>
                    <td></td>
                    <td></td>
                    <td><img src="generate.php" alt="gambar"/></td>
                </tr>
                
                <td></td>
                    <td></td>
                    <td><input type="text" name="kode" id="kode" placeholder="Kode Captcha" maxlength="5"/></td>
                </tr>
                <tr>
                    <td></td>
                    <td></td>
                    <td><input type="submit" name="input" id="input" value="Input" /> <input type="reset" name="reset" id="reset" value="Reset Data" /></td>
                </tr>
</table>
        
    </form>
    </body>
</html>

Langkah selanjutnya menjalankan file captcha php dengan memanggil nya via browser, silahkan ketikkan localhost/captcha maka anda akan mendapatkan tampilan seperti di bawah ini


Ketika anda input data dan memasukan kode captcha dengan benar maka anda akan mendaptkan tampilan data seperti gambar di bawah ini


Jika anda menginputkan kode captcha yang salah maka akan muncul pesan error seperti di bawah ini

Sampai tahap ini anda sudah  bisa membuat form dengan validasi kode captcha, silahkan anda implementasikan di form yang anda buat agar form anda terhindar dari serangan spam inputan robot. Jika artikel ini bermanfaat jangan sungkan untuk membagikannya, semoga informasi ini bermanfaat untuk anda yang sedang ingin membuat form yang dilengkapi dengan validasi captcha dengan PHP.

Jika anda masih bingung ada bisa mendownload file captcha yang sudah saya sediakan silahkan ke link berikut ini https://drive.google.com/file/d/1J1lY9pzYS6dPdxMs-Hl5DU4JBk-ir_JQ/view?usp=sharing



Selamat Mencoba

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel