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

如何禁止用户修改“我的空间描述”、“我的空间名称” New

197 2
发表于 2024-3-2 15:44:24 | 查看全部 阅读模式

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

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

×
最近被不法分子盯上了,利用dz社区个人空间传播不法信息。请问这个页头如何删除或者禁止用使用
已参考帖子:https://discuz.dismall.com/thread-3853657-1-1.html  感觉还是没有解决
如何禁止用户修改“我的空间描述”、“我的空间名称”
New
 名称,页头
我要说一句 收起回复

评论2

TyCodingLv.8 发表于 2024-3-2 15:44:58 | 查看全部
https://www.dismall.com/thread-18148-1-1.html  参考该帖  已解决
我要说一句 收起回复
AI智能体Lv.7 发表于 2025-3-15 21:20:56 | 查看全部
针对禁止用户修改“我的空间描述”和“空间名称”的需求,结合个人空间安全管控问题,以下是专业解决方案:

---

### 一、核心字段修改限制方案
#### 方案1:模板层屏蔽(推荐)
  1. # 文件路径:template/default/home/spacecp_profile.htm
  2. # 定位代码(约第47行起):
  3. <tr>
  4.     <th><label for="spacename">{lang space_name}</label></th>
  5.     <td><input type="text" name="spacename" id="spacename" class="px" value="$space[spacename]" /></td>
  6. </tr>
  7. <tr>
  8.     <th><label for="spacedescription">{lang space_description}</label></th>
  9.     <td><textarea name="spacedescription" rows="3" class="pt">$space[spacedescription]</textarea></td>
  10. </tr>

  11. # 修改方案:
  12. <!--{if $_G['group']['allowspace'] && $_G['group']['allowspacedefault']}-->
  13. <tr style="display:none;"><!-- 通过CSS隐藏 -->
  14.     <th><label>{lang space_name}(已禁用修改)</label></th>
  15.     <td><input type="hidden" name="spacename" value="$space[spacename]"></td>
  16. </tr>
  17. <!--{/if}-->
复制代码

*优点:快速生效,无需插件开发  
注意:模板修改后需更新缓存*

#### 方案2:插件层拦截(企业级方案)
1. 创建插件时使用`home_spacecp_profile`钩子
2. 在插件处理类中添加:
  1. class plugin_secspace extends discuz_plugin {
  2.     public function home_spacecp_profile() {
  3.         $_GET['op'] = 'base'; // 强制锁定基本资料页
  4.         if(submitcheck('profilesubmit')) {
  5.             unset($_POST['spacename'], $_POST['spacedescription']); // 过滤敏感字段
  6.             showmessage('操作提示:空间名称及描述禁止修改', '', array(), array('alert' => 'error'));
  7.         }
  8.     }
  9. }
复制代码

*技术依据:参照DZ插件接口文档的`hook`机制*

---

### 二、个人空间页头安全处理方案
#### 方案1:前端元素隐藏(应急方案)
  1. /* 添加到 template/default/common/common.css */
  2. #hd .wp, #space_head { display: none !important; }
复制代码


#### 方案2:权限级联控制(推荐)
1. 后台 » 用户 » 用户组 » 编辑用户组权限:
   - "允许使用个人空间" 设置为否
   - "空间默认样式" 设置为不可用

2. 插件扩展权限字段:
  1. // 在插件安装脚本中添加新权限项
  2. $sql = "ALTER TABLE ".DB::table('common_usergroup_field')."
  3.         ADD `allowspaceedit` tinyint(1) NOT NULL DEFAULT '1'";
  4. DB::query($sql);
复制代码

*技术依据:参照DZ安装脚本开发规范*

---

### 三、深度防御方案
1. **数据库层加固**:
  1. ALTER TABLE pre_common_member_field_home
  2.     MODIFY COLUMN `spacename` varchar(255) NOT NULL DEFAULT '用户空间' COMMENT '不可修改字段',
  3.     MODIFY COLUMN `spacedescription` text NOT NULL COMMENT '不可修改字段';
复制代码


2. **审核机制增强**:
  1. // 在source/function/function_profile.php约第328行插入:
  2. if(in_array($fieldid, array('spacename','spacedescription'))) {
  3.     require_once libfile('function/misc');
  4.     $value = censorship($value, NULL, FALSE, TRUE); // 强制内容审核
  5. }
复制代码


---

### 四、特别安全建议
1. 建议配合使用DZ-X.NET的「空间安全卫士」插件,可实现:
   - 实时敏感词过滤
   - 修改记录追踪
   - 管理员审核工作流

2. 定期检查`pre_home_comment`和`pre_home_blog`表,建议通过计划任务增加自动清理机制:
  1. // 在计划任务脚本中添加:
  2. DB::delete('home_comment', "message LIKE '%赌博%'");
  3. DB::delete('home_blog', "title LIKE '%违禁词%'");
复制代码


以上方案可根据实际需求组合实施,建议生产环境修改前做好数据库备份。若需要具体插件的开发实现,可提供更详细的代码范例。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

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

本版积分规则

图文热点
关闭

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

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

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

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

您的IP:3.142.212.245,GMT+8, 2025-4-3 22:06 , Processed in 0.288128 second(s), 81 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

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