Rumah rangka kerja php ThinkPHP Cara menggunakan ThinkPHP6 untuk melaksanakan fungsi kod pengesahan

Cara menggunakan ThinkPHP6 untuk melaksanakan fungsi kod pengesahan

Jun 21, 2023 pm 05:48 PM
thinkphp Kod pengesahan capai

Dalam sistem pengesahan log masuk seperti log masuk tapak web atau aplikasi, pendaftaran dan mendapatkan kata laluan, fungsi kod pengesahan telah menjadi kaedah pengesahan pengguna yang biasa. Fungsi kod pengesahan boleh menghalang serangan berniat jahat dan serangan robot dengan berkesan, serta melindungi data pengguna dan keselamatan sistem. Artikel ini akan memperkenalkan cara menggunakan rangka kerja ThinkPHP6 untuk melaksanakan fungsi kod pengesahan.

1. Pengenalan kepada fungsi kod pengesahan ThinkPHP6

Fungsi kod pengesahan dalam rangka kerja ThinkPHP6 boleh dilaksanakan dengan menggunakan kelas thinkcaptchaCaptcha. Kelas ini menyediakan banyak pilihan untuk menetapkan panjang, fon, saiz fon, jenis baris gangguan, jenis titik gangguan, dll. kod pengesahan. Pilihan ini membolehkan kami menyesuaikan kod pengesahan kami sendiri untuk memenuhi keperluan senario perniagaan tertentu.

2. Langkah pelaksanaan

  1. Pasang rangka kerja ThinkPHP6

Selepas mengkonfigurasi persekitaran PHP dalam persekitaran setempat, anda boleh menggunakan komposer untuk memasang ThinkPHP6 rangka kerja. Masukkan arahan berikut pada baris arahan:

composer create-project topthink/think myproject
Salin selepas log masuk

Ini akan mencipta direktori projek yang dipanggil myproject dan secara automatik memasang serta memulakan semua kebergantungan yang diperlukan untuk projek itu.

  1. Buat kaedah kod pengesahan

Dalam rangka kerja ThinkPHP6, kita boleh mentakrifkan kaedah kod pengesahan dalam pengawal. Sebagai contoh, kita boleh mencipta kaedah pengesahan dalam pengawal Indeks. Kaedah ini boleh menerima parameter untuk menentukan panjang kod pengesahan Kod adalah seperti berikut:

namespace appindexcontroller;

use thinkcaptchaCaptcha;

class Index
{
    public function verify($length = 4)
    {
        $captcha = new Captcha([
            'length'    =>  $length,
            'useNoise'  =>  true,
            'fontSize'  =>  30,
            'useCurve'  =>  false,
        ]);
        return $captcha->entry();
    }
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kelas Captcha untuk menjana kod pengesahan. Kami lulus beberapa parameter untuk menentukan panjang kod pengesahan, sama ada untuk menggunakan garisan gangguan atau titik gangguan, dsb.

  1. Paparkan kod pengesahan

Dalam kod pengawal di atas, kami menggunakan kaedah $captcha->entry() untuk memaparkan kod pengesahan. Kaedah ini akan menjana imej dan mengeluarkan imej terus pada penyemak imbas.

Kami boleh mencipta elemen img dalam templat atau fail lihat, tetapkan atribut srcnya kepada URL kaedah kod pengesahan yang kami buat dalam langkah 2, dan kod pengesahan boleh dipaparkan pada halaman hadapan. . Kod tersebut adalah seperti berikut:

<img src="{:url('index/verify', ['length'=>4])}" onclick="this.src=this.src+'?rand='+Math.random()" />
Salin selepas log masuk

Dalam kod di atas, kami menggunakan fungsi url untuk menjana URL imej kod pengesahan, dan menetapkan panjang kepada 4. Apabila imej diklik, imej kod pengesahan dimuatkan semula untuk mengemas kini kod pengesahan.

  1. Kod pengesahan pengesahan

Kami boleh menggunakan mekanisme sesi PHP untuk mendapatkan kod pengesahan yang dimasukkan oleh pengguna semasa menyerahkan data borang, dan kemudian membandingkannya dengan kod pengesahan yang dijana Bandingkan untuk mengesahkan sama ada kod pengesahan adalah betul. Kodnya adalah seperti berikut:

namespace appindexcontroller;

use thinkcaptchaCaptcha;

class Index
{
    public function verify($length = 4)
    {
        $captcha = new Captcha([
            'length'    =>  $length,
            'useNoise'  =>  true,
            'fontSize'  =>  30,
            'useCurve'  =>  false,
        ]);
        return $captcha->entry();
    }
    
    public function check()
    {
        $code = input('post.captcha');
        if(captcha_check($code)){
            // 验证码正确
        }else{
            // 验证码错误
        }
    }
}
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan kaedah semakan untuk mengesahkan kod pengesahan yang dimasukkan oleh pengguna. Kami menggunakan fungsi captcha_check() untuk membandingkan sama ada kod pengesahan yang dimasukkan oleh pengguna dan kod pengesahan yang dijana adalah sama.

  1. Fungsi segar semula kod pengesahan

Kadangkala kita perlu menyediakan fungsi menyegarkan semula kod pengesahan apabila pengguna memasukkan kod pengesahan dengan salah, supaya pengguna boleh melepasi pengesahan lebih cepat. Kita boleh mencapai fungsi ini dengan hanya menyegarkan halaman, atau dengan mengubah suai URL imej kod pengesahan.

Pada halaman hujung hadapan, tambahkan butang muat semula pada elemen imej kod pengesahan Klik butang ini untuk memuatkan semula imej kod pengesahan untuk mengemas kini kod pengesahan. Kodnya adalah seperti berikut:

<img id="captcha" src="{:url('index/verify', ['length'=>4])}" onclick="this.src=this.src+'?rand='+Math.random()" />
<button onclick="document.getElementById('captcha').src='{:url('index/verify', ['length'=>4])}?' + Math.random(); return false;">刷新验证码</button>
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kod JavaScript untuk mengubah suai atribut src bagi imej kod pengesahan dan lulus fungsi Math.random() sebagai parameter kepada fungsi url. Dengan cara ini setiap muat semula akan menjana URL baharu untuk memuatkan semula kod pengesahan.

  1. Kod sampel lengkap

Coretan kod di atas mungkin tidak cukup lengkap Berikut ialah kod lengkap menggunakan ThinkPHP6 untuk melaksanakan fungsi kod pengesahan.

namespace appindexcontroller;

use thinkcaptchaCaptcha;

class Index
{
    // 验证码函数
    public function verify($length = 4)
    {
        $captcha = new Captcha([
            'length'    =>  $length,
            'useNoise'  =>  true,
            'fontSize'  =>  30,
            'useCurve'  =>  false,
        ]);
        return $captcha->entry();
    }
    
    // 验证码校验函数
    public function check()
    {
        $code = input('post.captcha');
        if(captcha_check($code)){
            // 验证码正确
        }else{
            // 验证码错误
        }
    }
}
Salin selepas log masuk
rrree

Di atas adalah keseluruhan proses menggunakan ThinkPHP6 untuk melaksanakan fungsi kod pengesahan. Jika anda sedang membangunkan aplikasi web atau tapak web, maka menggunakan ciri CAPTCHA boleh meningkatkan keselamatan sistem dan melindungi data pengguna daripada serangan berniat jahat.

Atas ialah kandungan terperinci Cara menggunakan ThinkPHP6 untuk melaksanakan fungsi kod pengesahan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah yang perlu saya lakukan jika Google Chrome tidak memaparkan imej kod pengesahan Chrome tidak memaparkan kod pengesahan? Apakah yang perlu saya lakukan jika Google Chrome tidak memaparkan imej kod pengesahan Chrome tidak memaparkan kod pengesahan? Mar 13, 2024 pm 08:55 PM

Apakah yang perlu saya lakukan jika Google Chrome tidak memaparkan imej kod pengesahan? Kadangkala anda memerlukan kod pengesahan untuk log masuk ke halaman web menggunakan Google Chrome. Sesetengah pengguna mendapati bahawa Google Chrome tidak dapat memaparkan kandungan imej dengan betul apabila menggunakan kod pengesahan imej. Apa yang patut dibuat? Editor di bawah akan memperkenalkan cara menangani kod pengesahan Google Chrome yang tidak dipaparkan. Saya harap ia akan membantu semua orang! Pengenalan kaedah: 1. Masukkan perisian, klik butang "Lagi" di penjuru kanan sebelah atas, dan pilih "Tetapan" dalam senarai pilihan di bawah untuk masuk. 2. Selepas memasuki antara muka baharu, klik pilihan "Tetapan Privasi dan Keselamatan" di sebelah kiri. 3. Kemudian klik "Tetapan Laman Web" di sebelah kanan

Bagaimana untuk menjalankan projek thinkphp Bagaimana untuk menjalankan projek thinkphp Apr 09, 2024 pm 05:33 PM

Untuk menjalankan projek ThinkPHP, anda perlu: memasang Komposer untuk mencipta projek, masukkan direktori projek dan laksanakan php bin/console serve;

Bagaimana untuk melaksanakan log masuk WeChat dwi pada telefon mudah alih Huawei? Bagaimana untuk melaksanakan log masuk WeChat dwi pada telefon mudah alih Huawei? Mar 24, 2024 am 11:27 AM

Bagaimana untuk melaksanakan log masuk WeChat dwi pada telefon mudah alih Huawei? Dengan kebangkitan media sosial, WeChat telah menjadi salah satu alat komunikasi yang sangat diperlukan dalam kehidupan seharian orang ramai. Walau bagaimanapun, ramai orang mungkin menghadapi masalah: log masuk ke beberapa akaun WeChat pada masa yang sama pada telefon mudah alih yang sama. Bagi pengguna telefon mudah alih Huawei, tidak sukar untuk mencapai log masuk WeChat dwi Artikel ini akan memperkenalkan cara mencapai log masuk WeChat dwi pada telefon mudah alih Huawei. Pertama sekali, sistem EMUI yang disertakan dengan telefon mudah alih Huawei menyediakan fungsi yang sangat mudah - pembukaan dua aplikasi. Melalui fungsi pembukaan dwi aplikasi, pengguna boleh serentak

Terdapat beberapa versi thinkphp Terdapat beberapa versi thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP mempunyai berbilang versi yang direka untuk versi PHP yang berbeza. Versi utama termasuk 3.2, 5.0, 5.1 dan 6.0, manakala versi kecil digunakan untuk membetulkan pepijat dan menyediakan ciri baharu. Versi stabil terkini ialah ThinkPHP 6.0.16. Apabila memilih versi, pertimbangkan versi PHP, keperluan ciri dan sokongan komuniti. Adalah disyorkan untuk menggunakan versi stabil terkini untuk prestasi dan sokongan terbaik.

Bagaimana untuk menjalankan thinkphp Bagaimana untuk menjalankan thinkphp Apr 09, 2024 pm 05:39 PM

Langkah-langkah untuk menjalankan ThinkPHP Framework secara setempat: Muat turun dan nyahzip ThinkPHP Framework ke direktori tempatan. Buat hos maya (pilihan) yang menunjuk ke direktori akar ThinkPHP. Konfigurasikan parameter sambungan pangkalan data. Mulakan pelayan web. Mulakan aplikasi ThinkPHP. Akses URL aplikasi ThinkPHP dan jalankannya.

Panduan Pengaturcaraan PHP: Kaedah untuk Melaksanakan Jujukan Fibonacci Panduan Pengaturcaraan PHP: Kaedah untuk Melaksanakan Jujukan Fibonacci Mar 20, 2024 pm 04:54 PM

Bahasa pengaturcaraan PHP ialah alat yang berkuasa untuk pembangunan web, yang mampu menyokong pelbagai logik dan algoritma pengaturcaraan yang berbeza. Antaranya, melaksanakan jujukan Fibonacci adalah masalah pengaturcaraan biasa dan klasik. Dalam artikel ini, kami akan memperkenalkan cara menggunakan bahasa pengaturcaraan PHP untuk melaksanakan jujukan Fibonacci, dan melampirkan contoh kod tertentu. Jujukan Fibonacci ialah jujukan matematik yang ditakrifkan seperti berikut: unsur pertama dan kedua bagi jujukan ialah 1, dan bermula dari unsur ketiga, nilai setiap unsur adalah sama dengan jumlah dua unsur sebelumnya. Beberapa elemen pertama urutan

Bagaimana untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Bagaimana untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Mar 24, 2024 pm 06:03 PM

Bagaimana untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Dengan populariti perisian sosial dan penekanan yang semakin meningkat terhadap privasi dan keselamatan orang ramai, fungsi klon WeChat telah beransur-ansur menjadi tumpuan perhatian. Fungsi klon WeChat boleh membantu pengguna log masuk ke berbilang akaun WeChat pada telefon mudah alih yang sama pada masa yang sama, menjadikannya lebih mudah untuk diurus dan digunakan. Tidak sukar untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Anda hanya perlu mengikuti langkah berikut. Langkah 1: Pastikan versi sistem telefon mudah alih dan versi WeChat memenuhi keperluan Pertama, pastikan versi sistem telefon mudah alih Huawei anda telah dikemas kini kepada versi terkini, serta Apl WeChat.

Mana yang lebih baik, laravel atau thinkphp? Mana yang lebih baik, laravel atau thinkphp? Apr 09, 2024 pm 03:18 PM

Perbandingan prestasi rangka kerja Laravel dan ThinkPHP: ThinkPHP umumnya berprestasi lebih baik daripada Laravel, memfokuskan pada pengoptimuman dan caching. Laravel berfungsi dengan baik, tetapi untuk aplikasi yang kompleks, ThinkPHP mungkin lebih sesuai.

See all articles