Dengan penekanan yang semakin meningkat pada keselamatan rangkaian, kod pengesahan digunakan secara meluas sebagai kaedah pengesahan biasa. Dalam aplikasi web, kod pengesahan boleh menghalang serangan berniat jahat dan operasi robot automatik dengan berkesan, memastikan keselamatan dan kebolehpercayaan maklumat. ThinkPHP6, sebagai rangka kerja PHP yang sangat baik, juga menyediakan sokongan untuk fungsi kod pengesahan. Artikel ini akan memperkenalkan cara menggunakan kod pengesahan dalam ThinkPHP6.
Pasang sambungan kod pengesahan
ThinkPHP6 tidak termasuk sambungan kod pengesahan secara lalai dan perlu dipasang secara manual. Ia boleh dipasang melalui komposer. Perintahnya adalah seperti berikut:
composer require topthink/think-captcha
Konfigurasi kod pengesahan
Dalam ThinkPHP6, konfigurasi kod pengesahan perlu dilakukan dalam fail captcha.php dalam direktori konfigurasi. Fail ini tidak wujud secara lalai. Anda perlu membuat dan menambah maklumat konfigurasi berikut secara manual:
<?php return [ // 验证码位数 'length' => 4, // 验证码字符集合 'codeSet' => '2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY', // 验证码过期时间(s) 'expire' => 1800, // 验证码字体大小(px) 'fontSize' => 25, // 是否画混淆曲线 'useCurve' => true, // 是否添加杂点 'useNoise' => true, // 验证码图片高度 'imageH' => 60, // 验证码图片宽度 'imageW' => 220, // 验证码背景颜色(rgb数组,设置为null随机颜色) 'bg' => [243, 251, 254], // 验证码字体颜色(rgb数组,设置为null随机颜色) 'fontColor' => null, ];
Di atas ialah beberapa item konfigurasi kod pengesahan yang biasa digunakan, yang boleh diubah suai mengikut keperluan sebenar. Fungsi setiap item konfigurasi mempunyai ulasan yang sepadan.
Jana kod pengesahan
Apabila menjana kod pengesahan, anda perlu membuat instantiate kelas alat kod pengesahan. Hanya gunakan kod berikut dalam pengawal:
use thinkcaptchaacadeCaptcha; class Demo extends Controller { // 生成验证码 public function captcha() { return Captcha::create(); } }
Parameter kaedah create() boleh menjadi nombor, menunjukkan bilangan aksara kod pengesahan ia juga boleh menjadi nombor yang mengandungi berbilang pilihan Array, lihat kod berikut untuk arahan khusus:
$options = [ 'length' => 4, 'fontSize' => 25, 'imageW' => 220, 'imageH' => 60, 'useCurve' => false, 'useNoise' => true, 'reset' => true, 'fontttf' => '', 'bg' => [243, 251, 254], 'expire' => 1800, 'codeSet' => '2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY', 'zh' => false, 'math' => false, 'addChars' => '', 'fontColor' => null, ]; return Captcha::create($options);
Kod pengesahan pengesahan
Apabila pengguna menyerahkan borang, kod pengesahan perlu disahkan. Ini boleh dicapai melalui kod berikut:
use thinkcaptchaacadeCaptcha; class Demo extends Controller { // 验证验证码 public function checkCaptcha($captcha) { if (Captcha::check($captcha)) { // 验证码正确 return true; } else { // 验证码错误 return false; } } }
Parameter $captcha ialah rentetan kod pengesahan yang dimasukkan oleh pengguna Fungsi Captcha::check($captcha) akan membandingkannya secara automatik dengan yang disimpan dalam sesi Kod pengesahan dibandingkan, dan jika sama, benar dikembalikan, jika tidak palsu dikembalikan.
Pada ketika ini, kami telah melengkapkan penggunaan kod pengesahan dalam ThinkPHP6. Melalui empat langkah memasang sambungan, mengkonfigurasi kod pengesahan, menjana kod pengesahan dan mengesahkan kod pengesahan, kami boleh melaksanakan fungsi kod pengesahan dengan mudah dan meningkatkan keselamatan dan kebolehpercayaan aplikasi web.
Atas ialah kandungan terperinci Cara menggunakan kod pengesahan dalam ThinkPHP6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!