Membuat Captcha Dengan PHP

Membuat Captcha dengan PHP
Membuat Captcha dengan PHP

Cara Membuat Captcha sederhana dengan PHP - Dalam artikel kali ini saya akan memberikan cara membuat captcha sederhana dengan menggunakan bahasa pemrograman php tentu yang sederhana dan tidak terlalu rumit, yang dimana nantinya agar tidak membingunkan kalian dalam belajar, captcha itu sendiri banyak sekali fungsinya, terlebih penting yang saya katakana untuk melindungi tindakan bot pada sebuah website atau blog yang memang kalian kelola, captcha ini sendiri sering kalian jumpai tentunya baik itu di google, maupun website pribadi orang lain. berikut ini langkah - langkah dalam membuat captcha menggunakan php yang sudah saya rangkum agar kalian mudah dalam mengikutinya.

Apa itu Captcha?

Captcha itu sendiri adalah suatu bentuk uji seperti tantangan atau tanggapan yang digunakan dalam suatu perkomputeran untuk memastikan bahwa dari suatu jawaban tidak dihasilkan oleh suatu komputer melainkan dari pengguna nya. dan untuk Kegunaan Captcha itu sendiri sering kali digunakanterutamanya untuk mengelakkan perisian automatik seperti (bot) dari melakukan tindakan sama seperti manusia melakukan sign up atau login dan sebagainya. jadi menghindari seperti kecurangan , dan tentunya sobat sudah sering lihat dong, dan oke kita lanjut aja ketahap pembuatan nya.

Cara Membuat Captcha dengan PHP

  1. Langkah pertama buat folder dengan nama captcha
  2. Kemdian kalian letakkan di htdocs kalian.
  3. Lalu kalian buat file baru di dalam folder tersebut dengan nama index.php
  4. Selanjutnya kalian ketikka kode yang ada dibawah ini.
  5. <!DOCTYPE html>
    <html>
    <head>
    <title>MEMBUAT CAPTHA SEDERHANA</title>
    <script type="text/javascript">
     window.onload = function() {
      document.getElementById('send_data').addEventListener('click', function() {
       var http,
       response,
       captcha;
    
       captcha = document.getElementById('captcha');
       if (window.XMLHttpRequest) {
        http = new XMLHttpRequest();
       } else {
        http = new ActiveXObject('Microsoft.XMLHTTP');
       }
    
       http.onreadystatechange = function() {
        if (http.readyState == 4 && http.status == 200) {
    
         // set response menjadi JSON
         response = JSON.parse(http.responseText);
    
         // munculkan pesan
         alert(response.message);
    
         // kosongkan textbox
         captcha.value = '';
        }
       }
    
       http.open('POST', 'cek.php', false);
       http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
       http.send('captcha='+ captcha.value);
      });
     }
    
    </script>
    </head>
    <body>
    <img src="captcha.php"><br />
    <input type="text" id="captcha" /><br />
    <button id="send_data">CEK CAPTCHA</button>
    </body>
    </html>
    
    
  6. Kemudian kalian buat file baru, yang dimana fungsinya untuk memproses captcha tersebut yang dikirim melalui textbox yang ada di form input.
  7. Silakan buat file baru dengan nama cek.php
  8. Kemudian kaian ketikkan kode dibawah ini.
  9. <?php
     session_start();
    
     $captcha = $_POST['captcha'];
    
     // jika captcha tidak kosong
     if (!empty($captcha)) {
    
      // jika captcha sesuai dengan image
      if ($captcha == $_SESSION['captcha']) {
       $response = array(
        'error'=>false,
        'message'=>'Captcha valid'
       );
    
      // jika captcha tidak sesuai dengan image
      } else {
       $response = array(
        'error'=>false,
        'message'=>'Captcha invalid'
       );
      }
    
     // jika captcha kosong
     } else {
      $response = array(
       'error'=>false,
       'message'=>'Please enter captcha'
      );
     }
    
     // buat response berupa JSON
     echo json_encode($response);
    
    
    
  10. Terakhir adalah membuat captcha nya itu sendiri, silahkan kalian buat file dengan nama captcha.php
  11. Kemudian kalian ketikkan kode dibawah ini.
  12. <?php
     session_start();
     header('Content-type: image/png');
    
     // mengacak huruf dan angka
     $chart = str_shuffle('0123456789abcdefghijklmnopqrstuvwxyz');
    
     // ambil 5 karankter dari chart yang di acak
     $captcha = substr($chart, 0, 5);
    
     // simpan captcha di dalam session
     $_SESSION['captcha'] = $captcha;
    
     // membuat gambar
     // imagecreate(P, L)
     // P : panjang, L : tinggi
     $image = imagecreate(65, 30);
    
     // membuat background dan text
     // imagecolorallocate(image, red, green, blue);
     $background = imagecolorallocate($image, 2, 89, 47);
     $text = imagecolorallocate($image, 255, 255, 255);
    
     imagefilledrectangle($image, 0, 0, 65, 30, $background);
     imagestring($image, 20, 10, 7, $captcha, $text);
     imagejpeg($image);
     imagedestroy($image);
    
    
  13. Selesai

Penutup

Sekian artikel kali ini tentang "Cara Membuat Captcha Dengan PHP" semoga bermanfaat buat kalian semuanya, jika ada kebingungan silahkan bisa kalian tanyakan di kolom komentar yang sudah saya sediakan.