> CMS 튜토리얼 > Dedecms > Dedecms 백그라운드 로그인 인증코드가 정상적으로 표시되지 않으면 어떻게 해야 하나요?

Dedecms 백그라운드 로그인 인증코드가 정상적으로 표시되지 않으면 어떻게 해야 하나요?

王林
풀어 주다: 2021-03-08 10:02:54
앞으로
2617명이 탐색했습니다.

Dedecms 백그라운드 로그인 인증코드가 정상적으로 표시되지 않으면 어떻게 해야 하나요?

前言:

在登录dedecms后台时,经常遇到如下三种问题:

1、后台验证码不显示

Dedecms 백그라운드 로그인 인증코드가 정상적으로 표시되지 않으면 어떻게 해야 하나요?

2、后台验证码不正常显示

Dedecms 백그라운드 로그인 인증코드가 정상적으로 표시되지 않으면 어떻게 해야 하나요?

3、后台验证码不正常显示

Dedecms 백그라운드 로그인 인증코드가 정상적으로 표시되지 않으면 어떻게 해야 하나요?

解决方法:

1、取消后台验证码功能

因为没有验证码 不能进后台 所以修改php文件源代码:

方法一:

打开dede/login.php 找到如下代码

if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){
        ResetVdValue();
        ShowMsg('验证码不正确!','login.php',0,1000);
        exit;
}
로그인 후 복사

第一行替换为 if(false){

好 问题解决 不输验证码后台直接进去

(学习视频分享:php视频教程

方法二:

打开data/safe/inc.safe.config.php

把代码$safe_gdopen = '1,2,3,4,5,6,7'; 中的6,删除即可

Dede后台验证码不显示情况一分析:

验证码需要GD库 请检查你的环境是否开启GD库

Dede后台验证码不显示情况二分析:

验证码只显示背景 不显示字母

打开验证码生成文件 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()函数没有成功的执行导致了验证码只显示背景,不显示字母

具体原因为 字体文件路径不对.解决方法

1、确认include/data/fonts/ 里面存在字体文件 默认为ggbi.ttf

2、在for($i=0;$i<$rndcodelen;$i++) 上一行 加上如下代码:

$font_file= str_replace("\\","/",$font_file);
로그인 후 복사

即把字体文件路径中反斜杠替换成斜杠 因为我们知道反斜杠有转译字符的功能,

$font_file 路经大体为 盘符:\appserv\www 系统错误的把反斜杠 当作转义用了 导致$font_file也就不是一个路径了 所以Imagettftext()函数总是返回错误

加上$font_file= str_replace("\\","/",$font_file);即可解决

Dede后台验证码不显示情况三分析:

Include/data/words/words.txt 文件不存在  

解决方案:

(1)拷贝一个进去

(2)找到代码    'word_type'  => (int)$safe_codetype,   // 1:数字  2:英文   3:单词

(3)换成'word_type'  =>1  (或2) 既验证码为数字或英文

Dede后台验证码不显示 全部情况解决

如果原来可以显示后来取消验证码后再设置就无法显示,可以通过覆盖data与include目录试试。

相关推荐:织梦cms

위 내용은 Dedecms 백그라운드 로그인 인증코드가 정상적으로 표시되지 않으면 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿