请登录后探索更多精彩内容!
如果xiunobbs设置为仅会员可读写,那么所有页面都会先验证是否登录。
但是有些页面是非会员也需要访问的,比如登录注册。原程序对这些页面有作例外处理。但是如果你有用验证码插件,会发现验证码不出来。就是因为这里没有对验证码作例外处理。除此之外,我还发现重置密码的邮箱验证也不能使用。
下面我对/model/misc.func.php文件进行了修改,增加了验证码(vcode)和联系我们页面,以及用户send_code页面到例外清单中。这样在仅会员可读写的状态下或者其他封闭状态下,验证码功能和发邮件重置密码功能就可以使用了。
你如果遇到类似的问题,也可以用这个方法解决。
// 检测站点的运行级别 function check_runlevel() { global $conf, $method, $gid; // hook model_check_runlevel_start.php if($gid == 1) return; $param0 = param(0); $param1 = param(1); if($param0 == 'vcode') return; if($param0 == 'contact_us') return; if($param0 == 'user' && in_array($param1, array('login', 'create', 'logout', 'sendinitpw', 'resetpw', 'resetpw_sendcode', 'resetpw_complete','send_code', 'synlogin'))) return; switch ($conf['runlevel']) { case 0: message(-1, $conf['runlevel_reason']); break; case 1: message(-1, lang('runlevel_reson_1')); break; case 2: ($gid == 0 || $method != 'GET') AND message(-1, lang('runlevel_reson_2')); break; case 3: $gid == 0 AND http_location(url('user-login')); break; case 4: $method != 'GET' AND message(-1, lang('runlevel_reson_4')); break; //case 5: break; } // hook model_check_runlevel_end.php }
暂无评论
请先登录后发表评论!
暂无评论