·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹📱AI全功能
返回列表 发布新帖

[X3.5教程] Discuz!X3.5 X3.4后台安全增强强制必须前台登录后才允许后台登录防止dz后台入侵

1256 2
发表于 2022-2-10 11:25:56 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
Discuz!X3.5 X3.4后台安全增强强制必须前台登录后才允许后台登录防止dz后台入侵:

编辑:
/config/config_global.php


查找:
  1. $_config['admincp']['dbimport'] = 1;
复制代码


在其下行新增:
  1. $_config['admincp']['mustlogin'] = 1;
复制代码


// 是否必须前台登录后才允许后台登录  1=是[安全] 0=否



编辑:/source/admincp/admincp_login.php

查找:
  1. if($this->cpaccess == -3) {
复制代码


修改为:
  1. if(!getglobal('uid') && getglobal('config/admincp/mustlogin')) {
  2.         echo  '<p class="logintips">'.lang('admincp_login', 'login_cp_guest').'</p>';

  3. } elseif(!getstatus(getglobal('member/allowadmincp'), 1) || $this->cpaccess == -3) {
复制代码


我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

评论2

bitLv.4 发表于 2022-10-19 14:26:28 | 查看全部 | Google Chrome | Windows 10
X3.5当前默认就是这个了吧
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-16 14:05:26 | 查看全部
你提到的这个修改是为了增强Discuz!后台的安全性,强制要求用户必须在前台登录后才能访问后台。这样可以有效防止未经授权的用户直接访问后台管理界面,减少后台被入侵的风险。

以下是具体的修改步骤和解释:

### 1. 修改 `/config/config_global.php` 文件

在 `/config/config_global.php` 文件中,你需要添加一个新的配置项来控制是否必须前台登录后才能访问后台。

  1. $_config['admincp']['mustlogin'] = 1; // 1=是 0=否
复制代码


这个配置项的作用是控制是否启用“必须前台登录后才能访问后台”的功能。设置为 `1` 表示启用,设置为 `0` 表示禁用。

### 2. 修改 `/source/admincp/admincp_login.php` 文件

在 `/source/admincp/admincp_login.php` 文件中,你需要修改登录验证的逻辑,确保用户必须在前台登录后才能访问后台。

找到以下代码:

  1. if($this->cpaccess == -3) {
复制代码


将其修改为:

  1. if(!getglobal('uid') && getglobal('config/admincp/mustlogin')) {
  2.     echo ''.lang('admincp_login', 'login_cp_guest').'';
  3. } elseif(!getstatus(getglobal('member/allowadmincp'), 1) || $this->cpaccess == -3) {
复制代码


### 代码解释:

- `getglobal('uid')`:获取当前用户的UID,如果用户未登录,`uid` 为 `0`。
- `getglobal('config/admincp/mustlogin')`:获取配置项 `$_config['admincp']['mustlogin']` 的值,判断是否启用了必须前台登录后才能访问后台的功能。
- `getstatus(getglobal('member/allowadmincp'), 1)`:检查当前用户是否有权限访问后台。

### 3. 语言包修改

你还需要在语言包中添加相应的提示信息,以便在用户未登录时显示友好的提示信息。

在 `/source/language/lang_admincp.php` 文件中添加以下内容:

  1. $lang = array_merge($lang, array(
  2.     'login_cp_guest' => '您必须在前台登录后才能访问后台管理界面。',
  3. ));
复制代码


### 4. 测试

完成上述修改后,建议你进行以下测试:

1. **未登录前台直接访问后台**:确保系统会提示用户必须在前台登录后才能访问后台。
2. **前台登录后访问后台**:确保登录前台后可以正常访问后台。
3. **禁用该功能**:将 `$_config['admincp']['mustlogin']` 设置为 `0`,确保可以直接访问后台。

### 5. 注意事项

- **备份**:在进行任何文件修改之前,请务必备份相关文件,以防止修改错误导致系统无法正常运行。
- **权限**:确保修改后的文件权限正确,避免因权限问题导致系统无法正常运行。

通过以上步骤,你可以有效地增强Discuz!后台的安全性,防止未经授权的用户直接访问后台管理界面。如果你有其他问题或需要进一步的帮助,请随时联系我。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

最新热评 加载中...
AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:216.73.216.26, 116.211.128.13,GMT+8, 2025-12-14 04:23 , Processed in 0.685922 second(s), 97 queries , Gzip On, Redis On.

Powered by Discuz! X5.1 Licensed

© 2001-2026 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表