Rumah > rangka kerja php > ThinkPHP > teks badan

Bincangkan pelaksanaan kod pengesahan thinkphp

PHPz
Lepaskan: 2023-04-17 11:06:27
asal
673 orang telah melayarinya

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

  1. Pasang thinkcaptcha

Pertama, kami perlu memasang pakej pengembangan thinkcaptcha dalam thinkphp, anda boleh menggunakan arahan berikut Pemasangan: komposer memerlukan topthink/think-captcha

  1. Konfigurasikan fail config.php

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
]
Salin selepas log masuk

Mengikut keperluan, kami boleh mengubah suai parameter untuk tetapan diperibadikan.

  1. Panggil kaedah kod pengesahan dalam pengawal
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(); 
   }
}
Salin selepas log masuk

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.,

  1. Panggil kod pengesahan dalam paparan

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>
Salin selepas log masuk

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.

  1. Sahkan kod pengesahan

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 {
         //其他业务逻辑
      }
   }
}
Salin selepas log masuk

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!

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