implementasi Google reCAPTCHA dengan PHP CodeIgniter model input karakter acak

Berikut adalah contoh implementasi Google reCAPTCHA dengan PHP CodeIgniter untuk memasukkan karakter acak ke dalam model:

  1. Pertama, pastikan Anda telah menambahkan reCAPTCHA ke halaman HTML Anda:
<form action="submit-form" method="post">
    <!-- Form fields -->
    <div class="g-recaptcha" data-sitekey="YOUR_SITE_KEY"></div>
    <button type="submit">Submit</button>
</form>

Pastikan untuk mengganti YOUR_SITE_KEY dengan kunci situs reCAPTCHA Anda.

  1. Selanjutnya, di bagian model PHP Anda, Anda dapat memeriksa validitas reCAPTCHA setelah pengguna mengirimkan formulir. Berikut adalah contoh kode untuk model:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Your_model extends CI_Model {

    public function __construct()
    {
        parent::__construct();
    }

    public function submit_form()
    {
        $recaptchaResponse = $this->input->post('g-recaptcha-response');

        // Validasi reCAPTCHA
        $recaptchaUrl = 'https://www.google.com/recaptcha/api/siteverify';
        $recaptchaSecret = 'YOUR_SECRET_KEY';
        $data = array(
            'secret' => $recaptchaSecret,
            'response' => $recaptchaResponse
        );

        $options = array(
            'http' => array (
                'method' => 'POST',
                'content' => http_build_query($data)
            )
        );

        $context  = stream_context_create($options);
        $result = file_get_contents($recaptchaUrl, false, $context);
        $response = json_decode($result);

        if ($response->success) {
            // reCAPTCHA valid, lanjutkan dengan pemrosesan formulir
            // Di sini Anda dapat menyimpan data formulir ke database atau melakukan tindakan lainnya
            // Contoh: $this->db->insert('nama_tabel', $data);
            return true;
        } else {
            // reCAPTCHA tidak valid, mungkin perlu menampilkan pesan kesalahan kepada pengguna
            return false;
        }
    }
}

Pastikan untuk mengganti YOUR_SECRET_KEY dengan kunci rahasia reCAPTCHA Anda.

Dengan menggunakan model ini, Anda dapat memanggil metode submit_form() dari kontroler Anda setelah pengguna mengirimkan formulir. Model akan memeriksa validitas reCAPTCHA dan mengembalikan true jika valid atau false jika tidak valid. Sesuaikan logika dan tindakan sesuai kebutuhan aplikasi Anda.

One thought on “implementasi Google reCAPTCHA dengan PHP CodeIgniter model input karakter acak

Leave a comment