DZ论坛设置中文验证码后无法登陆论坛之解决方案

作者:我就是个世界 发表于:2009-06-17
      昨天朋友的Discuz 7.0论坛为了防止垃圾注册在后台设置了验证码登陆,但他可能没注意自己把验证码类型设置成了中文验证码。此时就会出现问题,前台无法登陆论坛,因为登陆时的验证码不是英文,也不是中文,英是显示法文字符,即使你把法文验证码输入正确了也无法登陆,因为验证码本身应该是中文的。

     出现此原因,在于你自己在后台管理的时候粗心,不仔细看设置说明。当然个人认为DZ官方在这点上也有点不够人性化。下面是DZ论坛安全验证码设置处的说明,请仔细阅读:[separator]
[quote]
[color=#FF0000]1. [/color]使用图片作为验证码文字,图片必须包含字符“2346789BCEFGHJKMPQRTVWXY”24 个字符,且必须为 GIF 透明图片、背景透明、前景黑色,黑色为图片的第一个索引色。图片大小不限制,但建议宽度不大于验证码宽度的 1/4,高度不大于验证码高度。制作完毕后在 images/seccode/gif 下创建一个新的子目录,目录名任意,把制作完毕的 24 个 GIF 图片上传到新子目录下
[color=#FF0000]2. [/color]使用图片作为验证码的背景,把制作好的 JPG 图片上传到 images/seccode/background 目录下,论坛将随机使用里面的图片作为验证码的背景
[color=#FF0000]3. [/color]使用 TTF 字体作为验证码文字,把下载的 TTF 英文字体文件上传到 images/fonts/en 目录下,论坛将随机使用里面的字体文件作为验证码的文字
[color=#FF0000]4. [/color]使用中文图片验证码前,需要把包含完整中文汉字的 TTF 中文字体文件上传到 images/fonts/ch 目录下,论坛将随机使用里面的字体文件作为验证码的文字[/quote]

       就是因为这第4条,如果你要使用中文图片验证码前,请先把包含完整中文汉字的 TTF 中文字体文件上传到 images/fonts/ch 目录下,因为默认的安装程序下并未上传中文汉字的 TTF 中文字体,其实我觉得DZ官方完全可以预先放置一种中文字体在安装文件里面的,会避免大部分粗心的朋友出现设置中文验证码后无法登陆论坛的问题,可能官方是考虑了安装程序的大小才不预先设置的。。。这就不清楚了。

[b]下面进入正题,说一下几种解决方法:[/b]

第一种方法:用FTP打开 ./forumdata/cache/cache_settings.php  修改安全验证码设置为无
            修改'seccodestatus' => '数字'   改为'seccodestatus' => ''就可以进入了

第二种方法:通过FTP上传一种完整中文汉字的 TTF 中文字体文件(例如:黑体、宋体、楷体等都可以)到 images/fonts/ch 目录下,使中文验证码图片可以正确显示中文。(完美的解决方案)

[color=#FF0000]另外:[/color]中文图片验证码需要您的主机支持 FreeType 库,如果不支持请与空间商联系,一般情况都支持的。


第三种方法:使用DZ官方的tools工具中的 sql升级  关闭所有验证码功能,程序会自动添加如下SQL语句,执行即可
[code]REPLACE INTO cdb_settings (variable, value) VALUES ('seccodestatus', '0')[/code]


[b]解决完登陆问题后,请登陆后台自行设置相关安全验证规则。[/b]



版权声明

本文仅代表作者观点,未经许可,不得转载。

分享:

扫一扫在手机阅读、分享本文

请发表您的评论