Rumah > rangka kerja php > ThinkPHP > Bagaimana untuk melaksanakan operasi kod pengesahan grafik captcha dalam ThinkPHP6?

Bagaimana untuk melaksanakan operasi kod pengesahan grafik captcha dalam ThinkPHP6?

WBOY
Lepaskan: 2023-06-12 11:45:10
asal
2831 orang telah melayarinya

Dengan perkembangan pesat Internet, kod pengesahan berasaskan grafik telah menjadi bahagian penting dalam keselamatan tapak web. Kod pengesahan boleh menghalang robot atau program berniat jahat secara berkesan daripada mengautomasikan operasi di tapak web, dan juga boleh memastikan keselamatan maklumat pengguna. Dalam pembangunan laman web berdasarkan ThinkPHP6, bagaimana untuk melaksanakan operasi kod pengesahan grafik captcha? Artikel ini akan memperkenalkan anda kepada proses operasi khusus.

1. Jana kod pengesahan grafik Captcha

1 Gunakan pustaka captcha untuk memasang

Untuk melaksanakan operasi kod pengesahan grafik captcha dalam ThinkPHP6, kita perlu menggunakan captcha terlebih dahulu. perpustakaan. Ia boleh dipasang melalui komposer. Tambah:

"require": {
    "topthink/think-captcha": "^3.1"
}
Salin selepas log masuk

ke fail composer.json dalam direktori akar projek dan kemudian jalankan melalui alat baris arahan:

composer update
Salin selepas log masuk

untuk menyelesaikan pemasangan captcha perpustakaan.

2. Jana data kod pengesahan

Apabila kita perlu menjana kod pengesahan, kita boleh mencipta pengawal baharu untuk memanggil kaedah yang berkaitan pustaka captcha. Pertama, kita perlu memperkenalkan perpustakaan captcha ke dalam pengawal:

use thinkcaptchaacadeCaptcha;
Salin selepas log masuk

Kemudian panggil kaedah Captcha::create() untuk menjana imej kod pengesahan Contoh kod adalah seperti berikut:

public function create()
{
    return Captcha::create();
}
Salin selepas log masuk

Pada masa ini, akses URL yang sepadan, anda boleh melihat imej kod pengesahan yang dijana.

3. Sesuaikan parameter kod pengesahan

Kami juga boleh menyesuaikan beberapa tetapan kod pengesahan melalui parameter, seperti panjang kod pengesahan, lebar imej kod pengesahan, ketinggian imej kod pengesahan, dsb. Contohnya adalah seperti berikut:

public function create()
{
    return Captcha::create('abcde', 3, 120, 36);
}
Salin selepas log masuk

Dalam kod di atas, 'abcde' mewakili set aksara pilihan kod pengesahan, 3 mewakili panjang kod pengesahan, 120 dan 36 ialah lebar dan tinggi kod pengesahan. imej kod pengesahan masing-masing. Selepas melengkapkan tetapan, lawati URL yang sepadan sekali lagi dan anda akan melihat imej kod pengesahan yang dijana oleh tetapan tersuai.

2. Sahkan kod pengesahan grafik Captcha

Selepas menjana kod pengesahan, kami juga perlu mengesahkan kod pengesahan yang dimasukkan oleh pengguna untuk memastikan bahawa input adalah betul. Begitu juga, kita boleh menggunakan kaedah yang disediakan oleh perpustakaan captcha untuk pengesahan. Dalam pengawal, panggil kaedah Captcha::check() untuk mengesahkan kod pengesahan yang dimasukkan. Contohnya adalah seperti berikut:

public function check($code)
{
    if (Captcha::check($code)) {
        return '验证成功';
    } else {
        return '验证失败';
    }
}
Salin selepas log masuk

di mana $code mewakili kod pengesahan yang dimasukkan oleh pengguna. Jika kod pengesahan dimasukkan dengan betul, "Kejayaan Pengesahan" akan dikembalikan, jika tidak "Kegagalan Pengesahan" akan dikembalikan.

Perlu diambil perhatian bahawa semasa mengesahkan kod pengesahan, anda perlu membandingkan kes dengan kod pengesahan yang dimasukkan oleh pengguna, jika tidak pengesahan akan gagal. Kami boleh menetapkan pilihan sensitif huruf besar-kecil dalam fail konfigurasi, contohnya:

'captcha' => [
    'reset' => true,
    'useZh' => false,
    'codeSet' => '0123456789',
    'fontSize' => 25,
    'useCurve' => false,
    'useNoise' => false,
    'imageH' => 0,
    'imageW' => 0,
    'length' => 4,
    'bg' => [243, 251, 254],
    'fontttf' => '',
    'expire' => 1800,
    'defaultCode' => '',
    'seKey' => 'thinkphp_captcha',
    'offset' => null,
    'verifyCode' => true,
    'resetCode' => true,
    'keyPrefix' => '',
    'checkSensitive' => true, // 验证码大小写敏感
],
Salin selepas log masuk

Antaranya, 'checkSensitive' => benar bermakna kod pengesahan adalah sensitif huruf besar-besaran.

Di atas ialah kaedah melaksanakan operasi kod pengesahan grafik captcha dalam ThinkPHP6, yang sesuai untuk pelbagai senario pembangunan laman web. Semoga ia membantu.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan operasi kod pengesahan grafik captcha dalam ThinkPHP6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan