论坛风格切换
  • 3981阅读
  • 0回复

[功能优化与改进]妙用phpwind“外地IP注册审核”功能 [复制链接]

上一主题 下一主题
离线太史慈
 

发帖
766
金币
626
威望
556
只看楼主 倒序阅读 使用道具 楼主  发表于: 2011-10-21
  当一个网站定位为地方性服务站点时,就需要对注册用户所在地域有一个严格的界定。例如,一个本地婚介交友网站,经常来这里互动的用户都是有实际婚介交友需求的,如果发言的一部分会员都非本地常住人口,相信对该网站的运营和存活都是相当不利的。这就需要在用户注册之时,限制外地用户的操作。

  其实,地域性网站限定用户群地域分布的好处不仅如此,还可以对垃圾信息起到一定的预防作用。随着网络对大众生活的逐步渗透,广告商们也将目光瞄准了可以实现用户互动的网站。管理论坛的站长们恐怕都有这样的经验,一早打开自己的网站,就看见垃圾信息占了很大版面。先禁止该用户的发言权,好容易将这些垃圾帖删除干净,不久又能发现同样的垃圾信息如雨后春笋一般又冒了出来,只是更换了发帖者而已。这也给网站运营带来了很大的麻烦,严重影响了网站的内容定位,不利于搜索引擎对网站的收录,删除垃圾信息又会增加运营成本。

  根据对地域性服务网站有需求的用户一般常居住于本地的特点,杜绝外地用户注册的做法,能够防止外地广告推广人员的狂轰滥炸,能从很大程度上减轻网站运营中的管理负担。

  phpwind中的“外地IP注册审核”功能正好满足了这样的需求。使用该功能,本地用户在注册时自动放行,而外地注册用户信息则需要进行人工审核。功能设置也同样简单,只需将“新用户注册验证”设为“人工审核”,“不受审核限制的地区列表中”填入网站所服务地区如“北京”、“南京”等,当用户处于本列表中的地址时,注册无需审核即可成功。而对于外地注册用户,系统则将注册信息直接拦截下来,轻松实现网站用户群的地域划分。

实现方法如下:
1。首先进后台把注册时会员审核也开启
2。修改文件register.php
找到
  1. S::gp(array('regreason',
改成
  1. S::gp(array('regreason','regreason2',
找到
  1. $register->setSafecv($question, $customquest, $answer);
下加
  1.     if(!$regreason2){
  2.         $register->setReason($regreason);
  3.     }
template/wind/register.htm
找到
  1. }if($customfield){

改成
  1. }else{
  2. print <<<EOT
  3. -->
  4.       <input name="regreason2" type="hidden" value="1" />
  5. <!--
  6. EOT;
  7. }
  8. }if($customfield){

lib/user/register.class.php
找到
  1. function _setGroupid() {
改成
  1.     function _setGroupid() {
  2.         if ($this->data['groupid'] == 0) {
  3.             global $regreason2;
  4.             if($regreason2){
  5.                 $this->data['groupid'] = -1;
  6.             }else{
  7.                 $this->data['groupid'] = L::reg('rg_ifcheck') ? 7 : -1;
  8.             }
  9.         }
  10.     }

  需要注意的是“外地IP注册审核功能”只是在用户注册的时候起到过滤作用,并不影响已注册用户在出差或者旅游等短期居住外地的情况下,登陆该网站。

典型案例:章丘人论坛www.zqr.cn


[url=http://www.phpwind.com]phpwind[/url]
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
提到某人:
选择好友
上一个 下一个