雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

dedecms

當(dāng)前位置:主頁(yè) > CMS教程 > dedecms >

Dede后臺(tái)驗(yàn)證碼不顯示解決方法詳解(dedecms 5.7)

來源:本站原創(chuàng)|時(shí)間:2021-08-05|欄目:dedecms|點(diǎn)擊:

今天朋友問我他本地與服務(wù)器上安裝了dedecms5.7無法顯示驗(yàn)證碼,一般這種情況很少見,一般情況就是服務(wù)器設(shè)置問題,還有臨時(shí)目錄的權(quán)限問題
 
Dede后臺(tái)驗(yàn)證碼不顯示或不正常分三種情況,下面來逐一分析
 

通用解決方案---取消后臺(tái)驗(yàn)證碼功能
 
因?yàn)闆]有驗(yàn)證碼 不能進(jìn)后臺(tái) 所以修改php文件源代碼:
 
方法一:
 
打開dede/login.php 找到如下代碼
 
    if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){
 
        ResetVdValue();
 
        ShowMsg('驗(yàn)證碼不正確!','login.php',0,1000);
 
        exit;
 
}
 
第一行替換為   if(false){         
 
好 問題解決 不輸驗(yàn)證碼后臺(tái)直接進(jìn)去
 
方法二
 
打開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)境是否開啟GD庫(kù) 
 
 Dede后臺(tái)驗(yàn)證碼不顯示情況二分析
 
驗(yàn)證碼只顯示背景 不顯示字母
 
打開驗(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ù)沒有成功的執(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)證碼不顯示 全部情況解決 
 
如果原來可以顯示后來取消驗(yàn)證碼后再設(shè)置就無法顯示,可以通過覆蓋data與include目錄試試。  (www.jygsgssxh.com)

上一篇:織夢(mèng)dedecms當(dāng)前位置標(biāo)簽代碼的5種寫法

欄    目:dedecms

下一篇:dedecms list 判斷 每隔3次輸出內(nèi)容

本文標(biāo)題:Dede后臺(tái)驗(yàn)證碼不顯示解決方法詳解(dedecms 5.7)

本文地址:http://www.jygsgssxh.com/a1/dedecms/16782.html

更多dedecms

您可能感興趣的文章

閱讀排行

本欄相關(guān)

隨機(jī)閱讀

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有