日期:2014-05-16  浏览次数:20406 次

Discuz论坛更改验证方式及在数据库中更改验证是否开启
Discuz论坛的验证方式有英文,中文,flash,语音等四种,管理员登录后,可以全局->安全验证下设置,由于现线上的论坛有很多可能是用注册机来注册发贴的用户,之前是有开启了英文验证的了,不知为什么还是有这种情况出现,难道验证码出了问题?

故想更改为中文的来验证,选择提交后,将TTF文件上传到/images/fonts/目录下,再打开来一看,只显示了一点点内容,再看看phpinfo()这个函数来查看,竟然没看到有freetype这样的字段,PHP.INI这个文件也不想改了,我的服务器是REAAHT 9.0,是PHP4的,可能没有吧,对这个不熟悉。这会麻烦了,连管理员都登录不了,想改也改不了呀,当时立马就想到直接改数据库字段吧,但那么多表及字段,都不知道是那个,没办法啦,一翻google后,终于找到一个贴子的情况与我是的一样的,幸好,那贴子也写得清楚明白如何做。要不然就麻烦了。不过还有一个办法的,就是恢复数据库,因为在操作之前,鬼差神遣的我又做了一下数据库备份。呵呵...看来,每天都备份一下数据库还是必须的。

现将帖子的URL地址发在这里,以备忘:http://www.discuz.net/viewthread.php?tid=751451&highlight=%CA%FD%BE%DD%B1%ED%2B%D1%E9%D6%A4%C2%EB


帖子上的解决办法有两种,一是下载一个tools.php这样的文件再上传到服务器上进行更改,二是直接改数据库里的表及字段值。我采用的是第二个办法,或者直接改
cdb_settings表的seccodestatus之改成'0’。再清除forumdata/cache和forumdata/templates下面的文件

然后重新访问!这里会发现没有了验证码了,重新登录后,将中文的改回英文的,及将注册等相关选项选中即可!

另外,还可以增加验证问答的,可以设置验证问题与答案。增加安全,以达到更有效的防注册机。