国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah rangka kerja php ThinkPHP kod pengesahan thinkphp5 gagal

kod pengesahan thinkphp5 gagal

May 26, 2023 am 10:53 AM

ThinkPHP5 ialah rangka kerja PHP yang dibangunkan berdasarkan model MVC Ia mudah digunakan dan berkuasa, serta digunakan secara meluas dalam pembangunan aplikasi web peringkat perusahaan.

Fungsi kod pengesahan ialah salah satu fungsi pengesahan keselamatan yang lebih biasa digunakan, tetapi dalam proses pembangunan sebenar, ramai orang akan menghadapi situasi di mana kod pengesahan tidak berkuat kuasa atau pengesahan gagal. Mari analisa kemungkinan punca dan penyelesaian kepada situasi ini.

  1. Masalah yang tidak dipaparkan oleh kod pengesahan

Pertama sekali, anda harus menyemak sama ada pemalam kod pengesahan telah diperkenalkan dengan betul.

Dalam ThinkPHP5, pemalam kod pengesahan terletak dalam direktori thinkcaptcha dan boleh diperkenalkan melalui kod berikut:

use thinkcaptchaCaptcha;

//顯示驗證碼
public function verify(){
    $captcha = new Captcha();
    return $captcha->entry();
}

Tambahkan kod pengesahan pada kod HTML di bahagian hadapan:

<img src="{:captcha_src()}" alt="captcha" onclick="this.src='{:captcha_src()}?t='+Math.random();">

Jika Jika kod pengesahan masih tidak dapat dipaparkan seperti biasa, ini mungkin masalah cache Anda boleh mengosongkan cache penyemak imbas atau cuba menggunakan penyemak imbas lain untuk ujian.

  1. Masalah kegagalan pengesahan kod pengesahan

Jika anda memastikan kod pengesahan dipaparkan dengan betul, tetapi kod ralat dipaparkan semasa pengesahan, anda perlu menyemak perkara berikut mata:

2.1 Adakah nama parameter borang yang diserahkan semasa pengesahan kod pengesahan betul

Secara lalai, pemalam kod pengesahan ThinkPHP5 akan menjana parameter POST bernama captcha untuk menyimpan nilai kod pengesahan? . Jika pengesahan gagal, maklumat ralat dalam format JSON perlu dikembalikan. Oleh itu, semasa mengesahkan, anda perlu memastikan bahawa nama parameter yang diserahkan dalam borang juga adalah captcha, contohnya:

//驗證驗證碼
if (!captcha_check(input('post.captcha'))) {
    return json([
        'status' => '0',
        'msg' => '驗證碼錯誤!'
    ]);
}

2.2 Kod pengesahan tidak sensitif huruf besar dan kecil

Kod pengesahan adalah huruf besar/kecil -sensitif secara lalai Oleh itu, semasa menyemak kod pengesahan, anda perlu memastikan bahawa kod pengesahan yang dimasukkan adalah betul-betul sama dengan kod pengesahan yang dijana. Jika anda mahu kod pengesahan menjadi tidak peka huruf besar-besaran, anda boleh menambah parameter semasa memanggil kaedah captcha(), contohnya:

$captcha = new Captcha(['useZh' => false, 'useImgBg' => true, 'fontSize' => 20, 'useNoise' => true, 'length' => 4, 'useCurve' => false, 'fontttf' => '4.ttf', 'bg' => [151, 232, 66], 'reset' => true, 'codeSet' => '0123456789', 'expire' => 300, 'zhSet' => '']);

Dalam parameter di atas, parameter useZh digunakan untuk memaparkan kod pengesahan bahasa Cina , dan parameter useImgBg dan useNoise digunakan Untuk menjana imej latar belakang dan hingar, parameter panjang menunjukkan panjang kod pengesahan, parameter codeSet menetapkan set aksara kod pengesahan dan parameter tamat tempoh menetapkan masa tamat tempoh kod pengesahan. Ambil perhatian bahawa zhSet ditetapkan kepada rentetan kosong di sini, yang bermaksud bahawa kod pengesahan Cina tidak didayakan.

2.3 Kod pengesahan dan penyerahan borang berada pada halaman yang sama

Jika kod pengesahan dan penyerahan borang berada pada halaman yang sama, dan operasi pengesahan perlu diserahkan melalui Ajax, ia boleh menyebabkan masalah kerana domain silang, kegagalan sesi, dll. Sebabnya ialah kod pengesahan tidak dapat disahkan dengan jayanya. Pada masa ini, Access-Control-Allow-Origin perlu ditetapkan dalam persekitaran merentas domain, sebagai contoh:

header('Access-Control-Allow-Origin: *');

Anda juga perlu memastikan bahawa sesi itu diluluskan Anda boleh menambah:

header('P3P: CP=CAO PSA OUR');
session_start();

sebelum session_start() Anda boleh membaca dengan teliti bahagian tentang pemalam kod pengesahan dalam manual ThinkPHP5, atau cari soalan berkaitan dalam forum rasmi untuk mendapatkan lebih banyak penyelesaian dan petua untuk masalah ini.

Ringkasnya, apabila mereka bentuk dan melaksanakan kod pengesahan, adalah perlu untuk menimbang dan mengimbangi antara keselamatan dan pengalaman pengguna, mengikut prinsip reka bentuk biasa dan amalan terbaik serta menggunakan komponen dan perpustakaan pihak ketiga yang disemak untuk memastikan kebolehpercayaan dan kesahihan kod pengesahan.

Atas ialah kandungan terperinci kod pengesahan thinkphp5 gagal. 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

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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.

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)

Topik panas

Tutorial PHP
1502
276