Skip to content

Recaptcha general bisa di gunakan untuk codeigniter, php native ataupun laravel dan juga dalam pembuatan plugin wordpress

License

Notifications You must be signed in to change notification settings

pm2monit/recaptcha

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Recaptcha Package

Paket ini menyediakan layanan untuk menghasilkan dan memverifikasi CAPTCHA berbasis teks dan angka. Anda dapat menggunakan paket ini untuk melindungi formulir dan halaman web Anda dari bot dan skrip otomatis.

Fitur

  • Menghasilkan CAPTCHA berbasis teks alfanumerik (huruf dan angka).
  • Menghasilkan CAPTCHA berbasis angka.
  • Memverifikasi CAPTCHA yang dimasukkan oleh pengguna.
  • Menyimpan CAPTCHA dalam sesi untuk memverifikasi input pengguna.

Instalasi

  1. Unduh atau Salin Kode: Pastikan Anda memiliki kode sumber paket ini di dalam proyek Anda. Anda bisa mengunduhnya atau menyalin folder Recaptcha ke dalam proyek Anda.

  2. Autoloading (Opsional, jika menggunakan Composer): Jika Anda menggunakan Composer untuk autoloading, pastikan kelas Recaptcha dapat ditemukan dengan menambahkan namespace-nya di composer.json.

    "autoload": {
        "psr-4": {
            "Recaptcha\\": "path/to/recaptcha/"
        }
    }

1. Jika Menggunakan Composer (Dari Packagist)

Anda bisa menambahkannya sebagai dependensi:

composer require captchaforce/recaptcha

Implementation Recaptcha

Screenshot

  • CaptchaType Text
use Recaptcha\Recaptcha;
use Recaptcha\CaptchaType;

Recaptcha::setCaptcha(5);
Recaptcha::captchaImage(Recaptcha::getCaptcha(CaptchaType::TEXT));
  • CaptchaType Number
use Recaptcha\Recaptcha;
use Recaptcha\CaptchaType;

Recaptcha::setCaptcha(5);
Recaptcha::captchaImage(Recaptcha::getCaptcha(CaptchaType::NUMBER));
  • Change length Captcha
Recaptcha::setCaptcha(8);
  • Verify Captcha
use Recaptcha\Recaptcha;

$result = Recaptcha::verifyCaptcha($text_inputan_user);
echo $result ? "Captcha valid" : "Captcha tidak valid !";

Run Samples

php -S localhost:8080 -t samples

Implementation Recaptcha ( CodeIgniter 3 )

  • Login.php (Controllers)
<?php
defined('BASEPATH') or exit('No direct script access allowed');

use Recaptcha\Recaptcha;

class Login extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        Recaptcha::setCaptcha(5); // Bagian terpenting
    }
    
    public function index()
    {
        $this->load->view('dashboard/login');
    }
}
  • Captchaimg.php (Controllers)
<?php
defined('BASEPATH') or exit('No direct script access allowed');

use Recaptcha\Recaptcha;
use Recaptcha\CaptchaType;

class Captchaimg extends CI_Controller
{   
    public function index()
    {
        Recaptcha::captchaImage(Recaptcha::getCaptcha(CaptchaType::NUMBER)); // Bagian terpenting
    }
}
  • Auth.php ( Controllers )
public function login()
{
    if ($this->input->post()) {
        $this->form_validation->set_rules('username', 'Username', 'required');
        $this->form_validation->set_rules('password', 'Password', 'required');
        $this->form_validation->set_rules('captcha', 'Captcha', 'required');

        if ($this->form_validation->run() === TRUE) {
            $username = $this->input->post('username');
            $password = $this->input->post('password');
            $captcha = $this->input->post('captcha');

            if(Recaptcha::verifyCaptcha($captcha)) { // Bagian terpenting
                $user = $this->user->login($username, $password);

                if ($user) {
                $this->session->set_userdata('user', $user);
                
                redirect('dashboard');
                } else {
                    $data['error'] = 'Username atau password salah.';
                }
            }else{
                $data['error'] = 'Captcha salah';
            }
        } else {
            $data['error'] = validation_errors();
        }
    }

    $this->load->view('login');
}
  • login.php (Views)
<form action="<?php echo site_url('auth/login'); ?>" method="post">
    <div class="form-wrapper">
        <input type="text" name="username"  placeholder="Username" class="form-control" required>
        <i class="zmdi zmdi-account"></i>
    </div>
    <div class="form-wrapper">
        <input type="password" name="password" placeholder="Password" class="form-control" autocomplete required>
        <i class="zmdi zmdi-lock"></i>
    </div>

    <div class="form-wrapper">
        <div class="row">
            <div class="col">
                <img src="<?= base_url("captchaimg"); ?>" alt="Gambar Captcha"> <!-- Bagian terpenting -->
            </div>
            <div class="col">
                <input type="text" name="captcha" placeholder="Type Captcha" class="form-control" required>
                <i class="zmdi zmdi-lock"></i>
            </div>
        </div>
    </div>
    <button type="submit" id="loginBtn">Masuk
        <i class="zmdi zmdi-arrow-right"></i>
    </button>
</form>

Test Code

MacOs

./vendor/bin/phpunit --testdox tests

Windows

php ./vendor/bin/phpunit --testdox tests

About

Recaptcha general bisa di gunakan untuk codeigniter, php native ataupun laravel dan juga dalam pembuatan plugin wordpress

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages