Discuz!注册修改小心得
Posted by Kevin | Filed under PHP | 2008-11-18
不得不说DZ的构架做的相当的好,以至于要进行第三方的开发的时候,非常高效,简洁和安全。
需求背景:
由于学校需要,对论坛进行实名注册。改版前BBS所使用的是DVBBS7.1.0 SP1 + SQL SERVER2000,后来由于学校要求,服务器全部部署CENTER OS5。所以,bbs程序也得修改。相应换成了DZ!于是实名注册就迫在眉睫。
方案实施:
开始策划有2个方案。
- 不修改DZ源文件的情况下,由于DZ自带有审核注册。所以考虑到审核注册,DZ后台可以添加用户附加属性字段(例如:年级,系别,学号,身份号),用户提交相应注册信息后为未审核状态,管理员在后台看到相关信息后,再去学生数据库查看学生信息是否真实匹配,来决定审核和不审核。
- 修改DZ的注册页面和后台代码,在注册表单中增添几个表单元素,注册的时候填写好,然后修改注册处理页面,来匹配数据库用户信息,匹配成功则返回注册成功,否则提示相关注册错误信息!
结论:
显然第2种方法比较高明而且省力和安全,便于维护。难免会因为人力原因,造成错误审核之类的。
注册主要修改五个文件:
ajax.php,
register.php
default\messages.lang.php
default\register.htm
default\memcp_profile.htm
具体修改代码参考原始注册代码很容易编写!主要是思路要确立好,这里不得不说,构架真的很重要还有就是设计好。一个好的低耦合性的设计在后期给开发人员和使用者来说是一个福音。


2008-11-18, 9:04 PM
第一种方法其实也可以很简单.
要做的只是添加一段程序来自动验证需要审核的会员
2008-11-18, 11:50 PM
哈!
2008-11-19, 11:20 AM
@Lin.x
怎么自动验证审核?附加属性字段,他都可以随便填,没有一点约束,而且最不好的就是,拒绝的理由:比如学号已经注册(包括忘记用户名的),学号为非法学号之类的,个人感觉,最终还是不如第2种来得快。
2008-11-19, 7:00 PM
将注册会员输入的学号,什么其他的属性,与学生实名信息(来自数据库)比较匹配.
2008-11-20, 11:02 AM
@Lin.x
那跟修改注册有什么区别..而且像你那样做的话,肯定要在注册的时候就得进行前端验证,这样验证以来,基本上已经实现修改注册了。而且不需要临时表来存放待审核的用户
2008-11-21, 6:35 PM
呵呵,当局者"清",旁观者"迷",只有做了才知道...
2008-11-21, 8:03 PM
@lin.x
唉,老乡说的是。老乡最近PHP炉火纯青啊!以后要多请教哦!^^
2008-12-15, 1:41 PM
可以给出第二中方案的代码吗?!
2008-12-15, 10:20 PM
呵呵,其实如果做的好的话,可以做注册附件
2008-12-16, 8:22 PM
注册附件?还是注册插件?插件比较合适其实。开始这样想的,后来想想做插件,得看看DZ插件接口函数,太费时间了,就直接修改源文件了