Dengan perkembangan teknologi Internet, aplikasi kod pengesahan menjadi semakin meluas Ia boleh menghalang pendaftaran berniat jahat, komen, perangkak dan tingkah laku robot yang lain, memastikan keselamatan dan operasi normal tapak web untuk lebih merealisasikan fungsi kod pengesahan, sekarang mari kita bincangkan pelaksanaan kod pengesahan thinkphp.
1. Konsep dan fungsi kod pengesahan
Kod pengesahan (nama Inggeris penuh: Ujian Turing Awam Automatik Sepenuhnya untuk memberitahu Komputer dan Manusia Terpisah) ialah ujian awam yang secara automatik membezakan program komputer dan pengguna manusia Ujian Turing terbalik automatik sepenuhnya ialah teknologi yang digunakan untuk membezakan sama ada pengguna adalah mesin atau manusia. Kod pengesahan digunakan secara meluas, termasuk tetapi tidak terhad kepada pendaftaran, log masuk, ulasan, carian, undian, perangkak dan senario lain serta memainkan peranan penting dalam keselamatan Internet.
2. Langkah-langkah pelaksanaan kod pengesahan thinkphp
Pertama, kami perlu memasang pakej pengembangan thinkcaptcha dalam thinkphp, anda boleh menggunakan arahan berikut Pemasangan: komposer memerlukan topthink/think-captcha
Dalam folder aplikasi, cari fail config.php selepas membukanya , anda boleh melihat Kod berikut:
//验证码 'captcha' => [ // 验证码字符集合 'codeSet' => '2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY', // 验证码字体大小(px),根据所需进行设置验证码字体大小 'fontSize' => 25, // 是否画混淆曲线 'useCurve' => true, // 验证码图片高度,根据所需进行设置验证码图片高度 'imageH' => 50, // 验证码图片宽度,根据所需进行设置验证码图片宽度 'imageW' => 150, // 验证码位数,根据所需进行设置验证码位数 'length' => 4, // 验证成功后是否重置 'reset' => true ]
Mengikut keperluan, kami boleh mengubah suai parameter untuk tetapan diperibadikan.
use think\captcha\Captcha; class Index { public function verify() { $config = [ 'codeSet' => '0123456789', 'useZh' => false, 'fontSize'=> 20, 'length' => 4, 'useNoise' => false, ]; //验证码配置 $captcha = new Captcha($config); return $captcha->entry(); } }
Dalam kandungan di atas, $config digunakan untuk menetapkan parameter kod pengesahan, seperti codeSet sebagai aksara pilihan Koleksi, useZh ialah sama ada untuk mendayakan bahasa Cina, fontSize ialah saiz fon kod pengesahan, panjang ialah bilangan digit kod pengesahan, useNoise ialah sama ada untuk mendayakan talian gangguan, dsb.,
Dalam borang yang memerlukan penggunaan kod pengesahan, anda boleh menghubungi kod pengesahan melalui kod berikut:
<form method="post"> <input type="text" name="captcha" placeholder="Captcha" class="form-control"> <?php echo captcha_img(); ?> </form>
The captcha_img( ) kaedah ialah kaedah output kod pengesahan yang disertakan dengan pakej pengembangan thinkcaptcha, yang boleh digunakan Secara langsung mengeluarkan kod pengesahan yang dijana.
Akhir sekali, kod pengesahan perlu disahkan pada bahagian belakang Jika kod pengesahan yang dimasukkan oleh pengguna tidak konsisten dengan kod pengesahan yang dijana, pengesahan akan gagal.
use think\captcha\Captcha; class Index { public function login() { $captcha = new Captcha(); if (!$captcha->check(input('code'))) { $this->error('验证码错误'); } else { //其他业务逻辑 } } }
Dalam kod di atas, $captcha->check(input('code')) digunakan untuk mengesan sama ada kod pengesahan yang dimasukkan oleh pengguna adalah konsisten dengan kod pengesahan yang dijana tidak konsisten, gesaan akan muncul.
3. Ringkasan
Oleh kerana kod pengesahan adalah bahagian penting dalam memastikan keselamatan laman web, thinkphp juga menyediakan fungsi kod pengesahan yang kaya Dalam proses melaksanakan kod pengesahan, anda perlu memberi perhatian kepada parameter konfigurasi dan Apabila memanggil kaedah, anda juga perlu menggabungkan pelaksanaan kod pengesahan dengan logik perniagaan, dan bijak menggunakan kelebihan kod pengesahan untuk melindungi keselamatan dan pembangunan laman web yang sihat.
Atas ialah kandungan terperinci Bincangkan pelaksanaan kod pengesahan thinkphp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!