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

Rumah rangka kerja php ThinkPHP Perkara yang perlu dilakukan jika ralat kod pengesahan thinkphp tidak dimuatkan semula

Perkara yang perlu dilakukan jika ralat kod pengesahan thinkphp tidak dimuatkan semula

Apr 17, 2023 am 09:49 AM

Thinkphp ialah rangka kerja aplikasi web sumber terbuka berdasarkan model MVC Ia menyediakan banyak fungsi dan ciri yang sangat baik, membolehkan pembangun membangunkan aplikasi web dengan lebih cekap. Salah satunya ialah fungsi captcha. Kod pengesahan, nama penuh "kod pengesahan grafik", ialah cara teknikal yang digunakan untuk menghalang robot berniat jahat daripada mendaftar atau log masuk. Biasanya, apabila pengguna memasukkan kod pengesahan yang salah, tapak web akan menyegarkan atau menjana semula imej kod pengesahan. Walau bagaimanapun, sesetengah pengguna telah menghadapi masalah ralat kod pengesahan Thinkphp tetapi tidak menyegarkan apa yang sedang berlaku?

1. Penerangan Masalah

Dalam Thinkphp, penjanaan dan pengesahan kod pengesahan menggunakan perpustakaan kod pengesahan Thinkphp sendiri. Apabila menggunakan perpustakaan kelas ini, pengguna akan mendapati bahawa apabila kod pengesahan dimasukkan dengan salah, tapak web tidak akan memuat semula kod pengesahan serta-merta. Jika pengguna memasukkan kod pengesahan yang salah beberapa kali berturut-turut, tapak web tidak mengemas kini kod pengesahan, yang membuatkan pengguna berasa sangat kesulitan.

2. Analisis Masalah

Sebab masalah ini ialah dalam perpustakaan kod pengesahan Thinkphp, terdapat kaedah dengan atribut $reset ditetapkan kepada false. Apabila nilai atribut ini palsu, kod pengesahan tidak akan dimuat semula sehingga ia tamat tempoh. Jadi apabila pengguna memasukkan kod pengesahan yang salah beberapa kali, tapak web tidak akan mengemas kini kod pengesahan.

3 Penyelesaian

Untuk masalah ini, penyelesaiannya juga sangat mudah. ??Anda hanya perlu menukar nilai atribut $reset kepada benar. Kaedah pengubahsuaian adalah seperti berikut:

Cari kod berikut dalam ThinkPHP/Library/Think/Verify.class.php:

???//是否畫混淆曲線
???public?$useCurve?????=?true;
???//是否添加雜點(diǎn)
???public?$useNoise?????=?true;
???//驗(yàn)證碼圖片寬度
???public?$imageW???????=?130;
???//驗(yàn)證碼圖片高度
???public?$imageH???????=?50;
???//驗(yàn)證碼位數(shù)
???public?$length???????=?4;
???//驗(yàn)證碼字體大小(px)
???public?$fontSize?????=?25;
???//是否畫顏色背景
???public?$useZh????????=?false;
???//驗(yàn)證碼種子
???protected?$seed?????=?'123456789QWERTYUIOPASDFGHJKLZXCVBNM';
???//生成驗(yàn)證碼
???public?function?entry(){
???????//驗(yàn)證碼字符
???????$this->code?=?$this->makeCode();
???????session($this->seKey,$this->code);//驗(yàn)證碼保存到SESSION中
???????$width???????=?($this->length*?$this->fontSize*0.9?+?$this->fontSize*1.5);
???????$height??????=?$this->fontSize*2;
???????if(?$this->useZh?){
???????????$width??=?230;
???????????$height?=?50;
???????}
???????//創(chuàng)建圖像
???????$this->image?=?imagecreate($width,$height);
???????//設(shè)置背景
???????if($this->useZh)
???????????imagecolorallocate($this->image,244,?220,?215);
???????else{
???????????$this->bkcolor?=?imagecolorallocate($this->image,?255,?255,?255);
???????????imagefill($this->image,0,0,$this->bkcolor);
???????}
???????//混淆曲線
???????if?($this->useCurve)?{
???????????$this->writeCurve();
???????}
???????//雜點(diǎn)
???????if?($this->useNoise)?{
???????????$this->writeNoise();
???????}
???????//驗(yàn)證碼
???????$this->writeCode();
???????header("Cache-Control:?max-age=1,?s-maxage=1,?no-cache,?must-revalidate");
???????header("Content-type:?image/png;charset=utf8");
???????imagepng($this->image);
???????imagedestroy($this->image);
???}

Ubah suai nilai atribut $reset kepada benar Kod adalah seperti berikut:

???//是否畫混淆曲線
???public?$useCurve?????=?true;
???//是否添加雜點(diǎn)
???public?$useNoise?????=?true;
???//驗(yàn)證碼圖片寬度
???public?$imageW???????=?130;
???//驗(yàn)證碼圖片高度
???public?$imageH???????=?50;
???//驗(yàn)證碼位數(shù)
???public?$length???????=?4;
???//驗(yàn)證碼字體大小(px)
???public?$fontSize?????=?25;
???//是否畫顏色背景
???public?$useZh????????=?false;
???//驗(yàn)證碼種子
???protected?$seed?????=?'123456789QWERTYUIOPASDFGHJKLZXCVBNM';
???//生成驗(yàn)證碼
???public?function?entry(){
???????//驗(yàn)證碼字符
???????$this->code?=?$this->makeCode();
???????session($this->seKey,$this->code);//驗(yàn)證碼保存到SESSION中
???????$width???????=?($this->length*?$this->fontSize*0.9?+?$this->fontSize*1.5);
???????$height??????=?$this->fontSize*2;
???????if(?$this->useZh?){
???????????$width??=?230;
???????????$height?=?50;
???????}
???????//創(chuàng)建圖像
???????$this->image?=?imagecreate($width,$height);
???????//設(shè)置背景
???????if($this->useZh)
???????????imagecolorallocate($this->image,244,?220,?215);
???????else{
???????????$this->bkcolor?=?imagecolorallocate($this->image,?255,?255,?255);
???????????imagefill($this->image,0,0,$this->bkcolor);
???????}
???????//混淆曲線
???????if?($this->useCurve)?{
???????????$this->writeCurve();
???????}
???????//雜點(diǎn)
???????if?($this->useNoise)?{
???????????$this->writeNoise();
???????}
???????//驗(yàn)證碼
???????$this->writeCode();
???????//?以下為代碼修改
???????$this->reset?=?true;
???????header("Cache-Control:?max-age=1,?s-maxage=1,?no-cache,?must-revalidate");
???????header("Content-type:?image/png;charset=utf8");
???????imagepng($this->image);
???????imagedestroy($this->image);
???}

Selepas pengubahsuaian, simpan dan serahkan semula.

4. Kesimpulan

Artikel ini memperkenalkan punca dan penyelesaian kepada masalah ralat pengesahan Thinkphp tidak menyegarkan. Masalah ini boleh diselesaikan dengan mengubah suai hanya satu baris kod. Malah, apabila menggunakan mana-mana rangka kerja, masalah tidak dapat dielakkan. Tetapi selagi kita aktif mencari penyelesaian, masalah itu akan sentiasa selesai.

Atas ialah kandungan terperinci Perkara yang perlu dilakukan jika ralat kod pengesahan thinkphp tidak dimuatkan semula. 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