记录技术收获,分享个人心得

人生如负重远行,不可急于求成

dedecms织梦程序验证码不显示的各种现象解决

织梦程序的应用是非常广泛的,网站的样式也是多种多样,但是基本上核心文件都是那些。这套程序在使用过程中经常出现很多问题,其中验证码不显示,显示不正确,就是最常见的问题之一。本文将几乎所有解决方案汇总,按照流程来处理,基本可解决99%的验证码问题。

一.验证码不显示(gd扩展要装,这个是基础)
1.检测空间,磁盘是否已满。
2.去掉bom (常见于修改了数据库配置文件data/common.inc.php,但是另存为编码utf8+bom导致的)

可以先检查data/common.inc.php,用editplus等工具,另存未非utf8+bom的形式即可。

《dedecms织梦程序验证码不显示的各种现象解决》

这里放一个批量删除bom头的文件,下载地址:http://www.gaoshan.me/download/script/delbom.rar 下载后将delbom.rar上传到网站程序根目录下,直接改名为delbom.php,然后用http://域名/delbom.php访问即可自动清理网站中带bom头的文件,检测出的bom文件会以红色形式显示出来。如下图:

《dedecms织梦程序验证码不显示的各种现象解决》
3.目录(data可写)是否有权限
4.替换成原始的data/common.inc.php文件。
5.替换成原始的data和include目录

6.文件/include/vdimgck.php

  $sessSavePath = DEDEDATA.”/sessions/”; 后面添加

  ob_end_clean();


二.只显示背景不显示验证码字母
打开验证码生成文件 Include/vdimgck.php
    ‘font_file’   => dirname(__FILE__).’/data/fonts/’.mt_rand(1,3).’.ttf’,
    ‘wordlist_file’   => dirname(__FILE__).’/data/words/words.txt’,
像这种表示随机引用1.ttf,2.ttf,3.ttf文件,检查\wwwroot\include/data/fonts/是否存在这样的文件。 

三.提示验证码不正确
1.检测空间,磁盘是否已满。(基本是这个原因,session无法写入)
2.检查data文件夹及其下的session文件夹权限是否有写入session文件。
3.检查/include目录下vdimgck.php 与 common.inc.php文件中“//Session保存路径”是否一致。
4.去掉bom.(方法参考第一个大点中的方式)
5.session没有清除,去data/session或 sessions_d41d8cd98f目录下,将除index.html以外文件全清除。
6.检查data目录下common.inc.php文件是否正确配置,否则数据库连接有误。
7.检查data目录下config.cache.inc.php中$cfg_domain_cookie= ”; //跨域共享cookies 的代码,检查该函数是否设置错误,可设置为空尝试下。
8.是否转移了data目录路径。/include/vdimgck.php 这个文件里也调用了DATA里的文件也可以改路径,把带有这个 /../data 改成你现在的路径。
9.include目录下的php文件替换成原始程序的,注意编码和版本


点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

hi~

你好,欢迎来到我的博客,欢迎留言。

快速搜索:







Generic selectors

Exact matches only


Search in title


Search in content



Search in posts


Search in pages

欢迎关注我:

微博
steam
网易云音乐
QQ
500px

常用命令:

http://www.gaoshan.me/cmd