Rumah rangka kerja php ThinkPHP Menggunakan teknologi Captcha dalam ThinkPHP6

Menggunakan teknologi Captcha dalam ThinkPHP6

Jun 21, 2023 am 09:10 AM
thinkphp teknologi captcha

Dengan populariti Internet, teknologi kod pengesahan telah menjadi kaedah perlindungan rutin untuk tapak web dan aplikasi. CAPTCHA boleh menghalang robot berniat jahat dan perangkak daripada menyerang tapak web dan aplikasi, memastikan keselamatan maklumat dan privasi pengguna. Dalam ThinkPHP6, teknologi Captcha terbina dalam, dan fungsi kod pengesahan boleh dilaksanakan dengan mudah melalui konfigurasi dan panggilan mudah.

1. Pengenalan asas kepada Captcha

Captcha ialah teknologi kod pengesahan imej adalah untuk menunjukkan kepada pengguna imej yang dijana secara rawak apabila pengguna masuk atau menyerahkan borang kod pengesahan dalam imej untuk meneruskan. Teknologi ini sebahagian besarnya boleh menghalang serangan berniat jahat dan bot automatik daripada merosakkan tapak web atau aplikasi. Teknologi Captcha biasa termasuk nombor, huruf atau gabungan huruf dan nombor, kod pengesahan suara, kod pengesahan gelongsor, dsb.

2. Gunakan teknologi Captcha terbina dalam ThinkPHP6

ThinkPHP6 mempunyai kelas Captcha terbina dalam yang boleh melaksanakan fungsi kod pengesahan dengan mudah. Teknologi Captcha dilaksanakan berdasarkan perpustakaan GD dan mekanisme sesi, dan boleh menjana imej rawak nombor dan huruf. Sebelum digunakan, anda perlu memastikan bahawa perpustakaan GD telah dipasang dan didayakan pada pelayan.

  1. Tetapan fail konfigurasi

Pertama sekali, kita perlu menetapkan konfigurasi Captcha yang berkaitan dalam konfigurasi fail config/app.php, termasuk bilangan digit bagi kod pengesahan, bilangan kod pengesahan Lebar dan ketinggian dsb. Konfigurasi adalah seperti berikut:

'captcha'    => [
        // 验证码位数
        'length'   => 4,
        // 验证码图片宽度
        'width'    => 150,
        // 验证码图片高度
        'height'   => 50,
        // 验证码过期时间(秒)
        'expire'   => 1800,
        // 是否使用中文验证码
        'useZh'    => false,
        // 是否使用算术验证码
        'math'     => false,
        // 是否使用背景图
        'useImgBg' => false,
    ],
Salin selepas log masuk

Dalam konfigurasi di atas, apa yang perlu diperhatikan ialah:

panjang: bilangan digit kod pengesahan, yang boleh ditetapkan mengikut keperluan

lebar dan tinggi: pengesahan Lebar dan ketinggian imej kod boleh ditetapkan mengikut keperluan

tamat tempoh: masa tamat tempoh kod pengesahan, dalam beberapa saat masa yang ditetapkan;

useZh: sama ada Gunakan kod pengesahan bahasa Cina;

useImgBg: Sama ada hendak menggunakan imej latar belakang, anda boleh menambah gambar sebagai latar belakang kod pengesahan.

Penulisan pengawal
  1. Kita perlu memanggil kelas Captcha dalam pengawal untuk menjana kod pengesahan dan memaparkannya pada halaman, dan pada masa yang sama menyimpan kod pengesahan kepada sesi , digunakan untuk mengesahkan sama ada kod pengesahan yang dimasukkan adalah betul. Kod pengawal adalah seperti berikut:
use thinkcaptchaacadeCaptcha;

class Index extends BaseController
{
    public function captcha()
    {
        return Captcha::create();
    }
}
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kaedah panggilan statik ThinkPHP6 untuk menjana kod pengesahan terus melalui kaedah Captcha::create(). Kod pengesahan yang dijana akan mengembalikan aliran imej binari, yang boleh kami paparkan secara langsung menggunakan teg

Paparan halaman
  1. Akhir sekali, kami perlu menggunakan teg pada halaman untuk memaparkan kod pengesahan yang dijana dan menyerahkan kod pengesahan apabila borang diserahkan kepada pelayan bersama-sama. Kod tersebut adalah seperti berikut:
<form action="submit" method="POST">
    <!-- 显示验证码 -->
    <img src="<?php echo url('/index/captcha'); ?>" onclick="this.src=this.src+'?'+Math.random();" />
    <!-- 输入验证码 -->
    <label for="verifyCode">验证码:</label>
    <input type="text" name="verifyCode" />
    <button type="submit">提交</button>
</form>
Salin selepas log masuk

Dalam kod di atas, kami menggunakan fungsi url() untuk menjana alamat URL Captcha dan mencetuskan penjanaan semula kod pengesahan melalui acara onclick. Nama kotak input kod pengesahan perlu konsisten dengan nama kod pengesahan yang diproses oleh pelayan, supaya pelayan boleh mendapatkan nilai kod pengesahan yang dimasukkan oleh pengguna dengan betul.

3. Ringkasan

Teknologi Captcha telah menjadi kaedah perlindungan konvensional untuk tapak web dan aplikasi Dengan menggunakan kelas Captcha terbina dalam ThinkPHP6, kami boleh melaksanakan fungsi kod pengesahan dengan mudah. Sebelum digunakan, anda perlu memastikan bahawa pustaka GD telah dipasang dan dibuka pada pelayan, dan membuat tetapan yang berkaitan untuk fail konfigurasi Captcha. Akhir sekali, kami perlu memaparkan kod pengesahan pada halaman dan menghantar nilai kod pengesahan yang dimasukkan oleh pengguna kepada pelayan untuk pengesahan apabila borang diserahkan.

Atas ialah kandungan terperinci Menggunakan teknologi Captcha dalam ThinkPHP6. 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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

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;

Kertas Stable Diffusion 3 akhirnya telah dikeluarkan, dan butiran seni bina didedahkan Adakah ia akan membantu untuk menghasilkan semula Sora? Kertas Stable Diffusion 3 akhirnya telah dikeluarkan, dan butiran seni bina didedahkan Adakah ia akan membantu untuk menghasilkan semula Sora? Mar 06, 2024 pm 05:34 PM

Kertas StableDiffusion3 akhirnya di sini! Model ini dikeluarkan dua minggu lalu dan menggunakan seni bina DiT (DiffusionTransformer) yang sama seperti Sora. Ia menimbulkan kekecohan apabila ia dikeluarkan. Berbanding dengan versi sebelumnya, kualiti imej yang dijana oleh StableDiffusion3 telah dipertingkatkan dengan ketara Ia kini menyokong gesaan berbilang tema, dan kesan penulisan teks juga telah dipertingkatkan, dan aksara bercelaru tidak lagi muncul. StabilityAI menegaskan bahawa StableDiffusion3 ialah satu siri model dengan saiz parameter antara 800M hingga 8B. Julat parameter ini bermakna model boleh dijalankan terus pada banyak peranti mudah alih, dengan ketara mengurangkan penggunaan AI

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.

Artikel ini sudah cukup untuk anda membaca tentang pemanduan autonomi dan ramalan trajektori! Artikel ini sudah cukup untuk anda membaca tentang pemanduan autonomi dan ramalan trajektori! Feb 28, 2024 pm 07:20 PM

Ramalan trajektori memainkan peranan penting dalam pemanduan autonomi Ramalan trajektori pemanduan autonomi merujuk kepada meramalkan trajektori pemanduan masa hadapan kenderaan dengan menganalisis pelbagai data semasa proses pemanduan kenderaan. Sebagai modul teras pemanduan autonomi, kualiti ramalan trajektori adalah penting untuk kawalan perancangan hiliran. Tugas ramalan trajektori mempunyai timbunan teknologi yang kaya dan memerlukan kebiasaan dengan persepsi dinamik/statik pemanduan autonomi, peta ketepatan tinggi, garisan lorong, kemahiran seni bina rangkaian saraf (CNN&GNN&Transformer), dll. Sangat sukar untuk bermula! Ramai peminat berharap untuk memulakan ramalan trajektori secepat mungkin dan mengelakkan perangkap Hari ini saya akan mengambil kira beberapa masalah biasa dan kaedah pembelajaran pengenalan untuk ramalan trajektori! Pengetahuan berkaitan pengenalan 1. Adakah kertas pratonton teratur? A: Tengok survey dulu, hlm

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.

DualBEV: mengatasi BEVFormer dan BEVDet4D dengan ketara, buka buku! DualBEV: mengatasi BEVFormer dan BEVDet4D dengan ketara, buka buku! Mar 21, 2024 pm 05:21 PM

Kertas kerja ini meneroka masalah mengesan objek dengan tepat dari sudut pandangan yang berbeza (seperti perspektif dan pandangan mata burung) dalam pemanduan autonomi, terutamanya cara mengubah ciri dari perspektif (PV) kepada ruang pandangan mata burung (BEV) dengan berkesan dilaksanakan melalui modul Transformasi Visual (VT). Kaedah sedia ada secara amnya dibahagikan kepada dua strategi: penukaran 2D kepada 3D dan 3D kepada 2D. Kaedah 2D-ke-3D meningkatkan ciri 2D yang padat dengan meramalkan kebarangkalian kedalaman, tetapi ketidakpastian yang wujud dalam ramalan kedalaman, terutamanya di kawasan yang jauh, mungkin menimbulkan ketidaktepatan. Manakala kaedah 3D ke 2D biasanya menggunakan pertanyaan 3D untuk mencuba ciri 2D dan mempelajari berat perhatian bagi kesesuaian antara ciri 3D dan 2D melalui Transformer, yang meningkatkan masa pengiraan dan penggunaan.

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.

Bagaimana untuk memasang thinkphp Bagaimana untuk memasang thinkphp Apr 09, 2024 pm 05:42 PM

Langkah pemasangan ThinkPHP: Sediakan persekitaran PHP, Komposer dan MySQL. Buat projek menggunakan Komposer. Pasang rangka kerja dan kebergantungan ThinkPHP. Konfigurasikan sambungan pangkalan data. Hasilkan kod aplikasi. Lancarkan aplikasi dan lawati http://localhost:8000.

See all articles