设为首页收藏本站

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย

返回列表 发布新帖
查看: 138|回复: 2

关闭DiscuzX3.5注册页面的注册邮箱验证 New

344

主题

865

回帖

1232

积分

高级会员

积分
1232
发表于 2026-1-25 15:07:51 | 查看全部 |阅读模式
原文链接https://www.cnblogs.com/tangshiguang/p/6741136.html,原文作者:唐世光


转自其他平台


  打开source/class/class_member.php


  定位到以下代码,大概533行左右


if(!$activationauth) {     $email = $email ? $email : $_GET['email'];     checkemail($email); }                       


  修改为


if(!$activationauth) {    $email = strtolower(trim($_GET['email']));    if(empty($email) && $_G['setting']['forgeemail']) {        $timestamp = date('YmdHis');        $_GET['email'] = $email = 'KB' . $timestamp . '@qq.com'; // 生成随机邮箱,生成邮箱以KB开头,@qq.com结尾    }    checkemail($email); // 在生成邮箱后校验}                       


  下面是原文的修改方法,先改完下面的部分,在改我上面提到的部分discuzX3.2后台关闭注册邮箱必填选项的功能。详细过程如下:步骤1:source/admincp/admincp_setting.php 文件查找:


showsetting('setting_access_register_send_register_url', 'settingnew[sendregisterurl]', $setting['sendregisterurl'], 'radio');                       


  大概是440-441行:增加以下代码:


showsetting('setting_access_register_forge_email', 'settingnew[forgeemail]', $setting['forgeemail'], 'radio');                       


  步骤2:打开source/language/lang_admincp.php 文件


  查找: 一个邮箱只允许注册一个帐户


  大概811行,增加以下代码:


'setting_access_register_forge_email' => '取消注册邮箱必填','setting_access_register_forge_email_comment' => '开启后如果用不不填写注册邮箱,将自动生成一个邮箱地址',                       


  步骤3:修改source/class/class_member.php


  大概611行:原文是:


$email = strtolower(trim($_GET['email']));if(empty($this->setting['ignorepassword'])) {if($_GET['password'] !== $_GET['password2']) {   showmessage('profile_passwd_notmatch');}if(!$_GET['password'] || $_GET['password'] != addslashes($_GET['password'])) {  showmessage('profile_passwd_illegal'); } $password = $_GET['password'];} else {       $password = md5(random(10));       }}                       


  修改为(或直接替换以下:)(在原文随机码的基础上改为了KB+时间戳+@qq.com)


$email = strtolower(trim($_GET['email']));if(empty($email) && $_G['setting']['forgeemail']) {    // 生成时间戳格式:年月日时分秒(例如 20250415120711)    $timestamp = date('YmdHis');    // 组合随机邮箱前缀码(KB)    $_GET['email'] = $email = 'KB' . $timestamp . '@qq.com';}if(empty($this->setting['ignorepassword'])) {    if($_GET['password'] !== $_GET['password2']) {        showmessage('profile_passwd_notmatch');    }    if(!$_GET['password'] || $_GET['password'] != addslashes($_GET['password'])) {        showmessage('profile_passwd_illegal');    }    $password = $_GET['password'];} else {    $password = md5(random(10));}}                       








我知道答案 回答被采纳将会获得1 贡献 已有2人回答

本帖子中包含更多资源

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

×

330

主题

844

回帖

1195

积分

高级会员

积分
1195
发表于 2026-1-25 15:08:34 | 查看全部
取消注册邮箱验证,密码怎么找回,邮箱还是有点用处的。。。

334

主题

825

回帖

1173

积分

高级会员

积分
1173
发表于 2026-1-25 15:09:17 | 查看全部
手机号.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

caogen8@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,追究法律责任
  • 应用中心
  • 建议反馈
Copyright © 2001-2026 草根吧. 版权所有 All Rights Reserved.   |网站地图
关灯 在本版发帖
扫一扫添加微信客服
返回顶部
快速回复 返回顶部 返回列表