


Perkara yang perlu dilakukan jika ralat kod pengesahan thinkphp tidak dimuatkan semula
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; //是否添加杂点 public $useNoise = true; //验证码图片宽度 public $imageW = 130; //验证码图片高度 public $imageH = 50; //验证码位数 public $length = 4; //验证码字体大小(px) public $fontSize = 25; //是否画颜色背景 public $useZh = false; //验证码种子 protected $seed = '123456789QWERTYUIOPASDFGHJKLZXCVBNM'; //生成验证码 public function entry(){ //验证码字符 $this->code = $this->makeCode(); session($this->seKey,$this->code);//验证码保存到SESSION中 $width = ($this->length* $this->fontSize*0.9 + $this->fontSize*1.5); $height = $this->fontSize*2; if( $this->useZh ){ $width = 230; $height = 50; } //创建图像 $this->image = imagecreate($width,$height); //设置背景 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(); } //杂点 if ($this->useNoise) { $this->writeNoise(); } //验证码 $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; //是否添加杂点 public $useNoise = true; //验证码图片宽度 public $imageW = 130; //验证码图片高度 public $imageH = 50; //验证码位数 public $length = 4; //验证码字体大小(px) public $fontSize = 25; //是否画颜色背景 public $useZh = false; //验证码种子 protected $seed = '123456789QWERTYUIOPASDFGHJKLZXCVBNM'; //生成验证码 public function entry(){ //验证码字符 $this->code = $this->makeCode(); session($this->seKey,$this->code);//验证码保存到SESSION中 $width = ($this->length* $this->fontSize*0.9 + $this->fontSize*1.5); $height = $this->fontSize*2; if( $this->useZh ){ $width = 230; $height = 50; } //创建图像 $this->image = imagecreate($width,$height); //设置背景 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(); } //杂点 if ($this->useNoise) { $this->writeNoise(); } //验证码 $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!

Artikel ini membincangkan rangka kerja ujian ThinkPHP, yang menonjolkan ciri-ciri utamanya seperti ujian unit dan integrasi, dan bagaimana ia meningkatkan kebolehpercayaan aplikasi melalui pengesanan bug awal dan kualiti kod yang lebih baik.

Artikel membincangkan menggunakan ThinkPHP untuk suapan data pasaran saham masa nyata, memberi tumpuan kepada persediaan, ketepatan data, pengoptimuman, dan langkah-langkah keselamatan.

Artikel ini membincangkan pertimbangan utama untuk menggunakan ThinkPhp dalam arkitek tanpa pelayan, memberi tumpuan kepada pengoptimuman prestasi, reka bentuk tanpa statik, dan keselamatan. Ia menyoroti faedah seperti kecekapan kos dan skalabiliti, tetapi juga menangani cabaran

Artikel ini membincangkan pelaksanaan penemuan perkhidmatan dan mengimbangi beban dalam microservices ThinkPHP, memberi tumpuan kepada persediaan, amalan terbaik, kaedah integrasi, dan alat yang disyorkan. [159 aksara]

ThinkPhp's Container IOC menawarkan ciri -ciri canggih seperti pemuatan malas, mengikat kontekstual, dan suntikan kaedah untuk pengurusan ketergantungan yang cekap di php apps.Character Count: 159

Artikel ini membincangkan menggunakan ThinkPHP untuk membina alat kerjasama masa nyata, memberi tumpuan kepada persediaan, integrasi WebSocket, dan amalan terbaik keselamatan.

ThinkPHP memberi manfaat kepada aplikasi SaaS dengan reka bentuk ringan, seni bina MVC, dan extensibility. Ia meningkatkan skalabiliti, mempercepatkan pembangunan, dan meningkatkan keselamatan melalui pelbagai ciri.

Artikel ini menggariskan membina sistem giliran tugas yang diedarkan menggunakan ThinkPhp dan RabbitMQ, yang memberi tumpuan kepada pemasangan, konfigurasi, pengurusan tugas, dan skalabilitas. Isu -isu utama termasuk memastikan ketersediaan yang tinggi, mengelakkan perangkap biasa seperti implope


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Dreamweaver CS6
Alat pembangunan web visual

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna