Dede后臺(tái)驗(yàn)證碼不顯示或不正常分三種情況,下面來(lái)逐一分析 Dede后臺(tái)驗(yàn)證碼不顯示情況一 Dede后臺(tái)驗(yàn)證碼不顯示情況二 Dede后臺(tái)驗(yàn)證碼不顯示情況三 ●通用解決方案---取消后臺(tái)驗(yàn)證碼功能 因?yàn)闆](méi)有驗(yàn)證碼,不能進(jìn)后臺(tái),所以修改php文件源代碼: ▲方法一:打開(kāi)dede/login.php 找到如下代碼: if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){ ResetVdValue(); ShowMsg('驗(yàn)證碼不正確!','login.php',0,1000); exit; } 第一行替換為 if(false){ 好,問(wèn)題解決,不輸驗(yàn)證碼后臺(tái)直接進(jìn)去 ▲方法二: 打開(kāi)data/safe/inc.safe.config.php 把代碼$safe_gdopen = '1,2,3,4,5,6,7'; 中的6,刪除即可 Dede后臺(tái)驗(yàn)證碼不顯示情況一分析 驗(yàn)證碼需要GD庫(kù) 請(qǐng)檢查你的環(huán)境是否開(kāi)啟GD庫(kù)
●Dede后臺(tái)驗(yàn)證碼不顯示情況二分析 驗(yàn)證碼只顯示背景 不顯示字母 打開(kāi)驗(yàn)證碼生成文件 Include/vdimgck.php 找到 for($i=0;$i<$rndcodelen;$i++) { $bc = mt_rand(0, 1); $rndstring[$i] = strtoupper($rndstring[$i]); $c_fontColor = $fontColor[mt_rand(0,4)]; $y_pos = $i==0 ? 4 : $i*($font_size+2); $c = mt_rand(0, 15); @imagettftext($im, $font_size, $c, $y_pos, 19, $c_fontColor, $font_file, $rndstring[$i]); $lastc = $rndstring[$i]; } Imagettftext()函數(shù)沒(méi)有成功的執(zhí)行導(dǎo)致了驗(yàn)證碼只顯示背景 不顯示字母 具體原因?yàn)?字體文件路徑不對(duì).解決方法 1確認(rèn)include/data/fonts/ 里面存在字體文件 默認(rèn)為ggbi.ttf 2在for($i=0;$i<$rndcodelen;$i++) 上一行 加上如下代碼: $font_file= str_replace("\\","/",$font_file); 即把字體文件路徑中反斜杠替換成斜杠 因?yàn)槲覀冎婪葱备苡修D(zhuǎn)譯字符的功能, $font_file 路經(jīng)大體為 盤符:\appserv\www 系統(tǒng)錯(cuò)誤的把反斜杠 當(dāng)作轉(zhuǎn)義用了 導(dǎo)致$font_file也就不是一個(gè)路徑了 所以Imagettftext()函數(shù)總是返回錯(cuò)誤 加上$font_file= str_replace("\\","/",$font_file);即可解決 ●Dede后臺(tái)驗(yàn)證碼不顯示情況三分析
Include/data/words/words.txt 文件不存在 解決方案1 拷貝一個(gè)進(jìn)去 2找到代碼 'word_type' => (int)$safe_codetype, // 1:數(shù)字 2:英文 3:單詞 換成'word_type' =>1 (或2) 既驗(yàn)證碼為數(shù)字或英文
Dede后臺(tái)驗(yàn)證碼不顯示 全部情況解決 |
|
來(lái)自: 我樂(lè)享 > 《網(wǎng)絡(luò)建站》