Board logo

标题: [Discuz!相关] 禁止游客访问Discuz 7.2论坛的方法 [打印本页]

作者: shillan    时间: 2015-5-8 17:39     标题: 禁止游客访问Discuz 7.2论坛的方法

修改include/common.inc.php文件,在417行
  1. if(isset($allowvisit) && $allowvisit == 0 && !(CURSCRIPT == 'member' && ($action == 'groupexpiry' || $action == 'activate'))) {
  2.    showmessage('user_banned', NULL, 'HALTED');
  3. } elseif(!(in_array(CURSCRIPT, array('logging', 'wap', 'seccode', 'ajax')) || $adminid == 1)) {
  4.    if($bbclosed) {
  5.       clearcookies();
  6.       $closedreason = $db->result_first("SELECT value FROM {$tablepre}settings WHERE variable='closedreason'");
  7.       showmessage($closedreason ? $closedreason : 'board_closed', NULL, 'NOPERM');
  8.    }
  9.    periodscheck('visitbanperiods');
  10. }
复制代码
之后增加如下代码
  1. if(!$discuz_uid && !(defined('CURSCRIPT') && in_array(CURSCRIPT, array('logging', 'wap', 'seccode','ajax','register')))) {
  2.    showmessage('not_loggedin', NULL, 'NOPERM');
  3. }
复制代码
代码说明:增加的代码是根据第一段代码修改而来,第一段代码功能是限制封禁用户和论坛关闭时的全站访问限制;第二段代码中的$discuz_uid为用户编号,游客编号为0,登陆用户$discuz_uid值大于0,据此判断是否为游客。
作者: shillan    时间: 2015-5-8 17:41     标题: [DZ7.2] 禁止游客访问首页(去除bug版)

1. 打开文件「include/common.inc.php」
2. 找到
  1. if(isset($allowvisit) && $allowvisit == 0
复制代码
在上方加入
  1. if(!$discuz_uid && !(defined('CURSCRIPT') && in_array(CURSCRIPT, array('logging', 'wap', 'seccode','register','ajax','misc')))) {
  2.                 $closedreason = $db->result($db->query("SELECT value FROM {$tablepre}settings WHERE variable='closedreason'"), 0);
  3.                 showmessage($closedreason ? $closedreason : 'board_closed', NULL, 'NOPERM');
  4. }
复制代码
目前测试没有任何问题包括附件批量上传、验证码问题都已经解决。如有发现任何问题欢迎回报!




欢迎光临 逐梦论坛 (http://temp2023.zhumeng.org/) Powered by Discuz! 7.2