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

Discuz ! X 禁止会员修改注册邮箱!

806 2
发表于 2021-4-8 10:25:15 | 查看全部 阅读模式

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

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

×
注意首先记得备份好原始文件。

以下教程也适用于Discuz ! X3.4以下版本。

discuz默认是只要有密码就可以修改邮箱,这样当用户账号被盗之后,黑客可以修改掉用户的注册邮箱,从而实现完全的将被盗用户账号占为己有,非常不安全。

修改文件:
template\default\home\spacecp_profile.htm

查找
  1. <input type="text" name="emailnew" id="emailnew" value="$space[email]" class="px" />
复制代码
替换为
  1. <input type="text" name="emailnew" id="emailnew" value="$space[email]" disabled />
复制代码

这样修改之后,发现修改邮箱的编辑框就不可用了,无法修改邮箱。但是这样还不够,现在只是从前端禁止了在编辑框内输入邮箱,但是我们完全可以用firebug之类工具修改编辑框的属性 ,把disabled属性去掉,就可以正常编辑了;甚至可以直接伪造数据包发给服务器,服务器端会乖乖给你修改的。

所以如果想彻底防止修改邮箱,还必需修改程序文件,在服务器端也做限制,具体方法:

修改文件:source\include\spacecp\spacecp_profile.php

查找
  1. $emailnew = dhtmlspecialchars($_GET['emailnew']);
复制代码
替换为
  1. $emailnew = $_G['member']['email'];
复制代码
我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

评论2

Discuz智能体Lv.8 发表于 2025-3-19 12:28:40 | 查看全部
要彻底禁止Discuz! X 会员修改注册邮箱,除了前端禁用输入框外,还需要在服务器端进行限制。以下是详细的修改步骤:

### 1. 前端修改
首先,我们需要在前端禁用邮箱修改的输入框。

#### 修改文件:`template/default/home/spacecp_profile.htm`

查找以下代码:
  1. <input type="text" name="emailnew" id="emailnew" class="px" value="" />
复制代码


替换为:
  1. <input type="text" name="emailnew" id="emailnew" class="px" value="" disabled="disabled" />
复制代码


这样修改后,邮箱输入框将被禁用,用户无法在前端修改邮箱。

### 2. 后端修改
为了防止用户通过工具(如Firebug)修改前端代码或直接伪造数据包提交给服务器,我们还需要在服务器端进行限制。

#### 修改文件:`source/include/spacecp/spacecp_profile.php`

查找以下代码:
  1. $emailnew = dhtmlspecialchars($_GET['emailnew']);
复制代码


替换为:
  1. $emailnew = $_G['member']['email'];
复制代码


这样修改后,无论用户如何尝试修改邮箱,服务器端都会将新邮箱设置为当前用户的注册邮箱,从而彻底禁止用户修改邮箱。

### 3. 其他注意事项
- **备份文件**:在进行任何修改之前,请务必备份相关文件,以防止修改错误导致网站无法正常运行。
- **测试**:修改完成后,请进行充分的测试,确保修改不会影响网站的其他功能。
- **权限**:确保修改后的文件权限正确,避免因权限问题导致网站无法正常运行。

通过以上步骤,你可以有效地禁止Discuz! X 会员修改注册邮箱,从而提高账号的安全性。如果你有其他问题或需要进一步的帮助,请随时联系我。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-20 07:55:04 | 查看全部
要彻底禁止Discuz! X会员修改注册邮箱,除了前端页面的修改外,还需要在服务器端进行限制。以下是详细的步骤:

### 1. 前端页面修改
首先,我们需要在前端页面中禁用邮箱修改的输入框。

**修改文件:** `template/default/home/spacecp_profile.htm`

**查找:**
  1. <input type="text" name="emailnew" id="emailnew" class="px" value="" />
复制代码


**替换为:**
  1. <input type="text" name="emailnew" id="emailnew" class="px" value="" disabled="disabled" />
复制代码


这样修改后,邮箱输入框将变为不可编辑状态。但请注意,这只是前端限制,用户仍然可以通过开发者工具(如Firebug)修改输入框的属性,或者直接伪造数据包发送给服务器。

### 2. 服务器端修改
为了彻底禁止修改邮箱,我们需要在服务器端进行限制。

**修改文件:** `source/include/spacecp/spacecp_profile.php`

**查找:**
  1. $emailnew = dhtmlspecialchars($_GET['emailnew']);
复制代码


**替换为:**
  1. $emailnew = $_G['member']['email'];
复制代码


这样修改后,无论用户如何尝试修改邮箱,服务器端都会将新邮箱设置为当前用户的注册邮箱,从而彻底禁止了邮箱的修改。

### 3. 其他注意事项
- **备份文件:** 在进行任何修改之前,请务必备份相关文件,以防止出现意外情况。
- **测试:** 修改完成后,请进行充分的测试,确保修改不会影响其他功能的正常运行。
- **权限控制:** 如果你希望某些用户组(如管理员)仍然可以修改邮箱,可以在服务器端代码中添加条件判断,根据用户组来决定是否允许修改。

### 4. 进一步加固
如果你希望进一步加固安全性,可以考虑以下措施:
- **二次验证:** 在修改敏感信息(如邮箱)时,要求用户进行二次验证(如输入密码、短信验证码等)。
- **日志记录:** 记录所有尝试修改邮箱的操作,便于后续审计和追踪。

### 5. 总结
通过前端和后端的双重限制,可以有效防止用户修改注册邮箱,从而提升账号的安全性。如果你有其他关于Discuz! X的问题,欢迎随时提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

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

本版积分规则

图文热点
关闭

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

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

discuzaddons@vip.qq.com

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

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

您的IP:216.73.216.10,GMT+8, 2025-5-31 09:11 , Processed in 0.349597 second(s), 76 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

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