Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[不是BUG] UCH目前容许同一email注册多个帐号么?

[复制链接]
ATK 发表于 2008-9-9 17:26:17 | 显示全部楼层 |阅读模式
不好意思 刚才发错区了,我想在这儿再确认一下

目前我试了我本地的和别人的两个UCH系统,同一个email可以注册多个帐号。通过do.php?ac=register

Close as Not Repro

[ 本帖最后由 ATK 于 2008-9-9 20:03 编辑 ]
 楼主| ATK 发表于 2008-9-9 17:45:27 | 显示全部楼层
看了一下 uc_client\control_user.php 里面有这样一句话

elseif(!$this->settings['doublee'] && $_ENV['user']->check_emailexists($email, $username)) {

里面的settings['doublee'] 如果true的话就是容许一个email重复注册,看名称像是一个设置.....
回复

使用道具 举报

 楼主| ATK 发表于 2008-9-9 19:12:11 | 显示全部楼层
目前在UCenter里面把“是否允许同一 Email 地址注册多个用户: ” 关了,但是还是能重复注册...
回复

使用道具 举报

茄子 发表于 2008-9-10 11:20:27 | 显示全部楼层
不存在这个问题
您如果还有问题,可以将ucenter地址、创始人登录密码
ftp地址、登录帐号、uch文件路径、ucenter文件路径
uch地址、管理员帐号发送邮件到zoujing@comsenz.com

我们检查下
请在邮件标题详细注明问题
回复

使用道具 举报

gavindev 发表于 2009-7-9 20:25:50 | 显示全部楼层
4# 茄子


存在问题哦,老大

在  uc_client/control/user.php  line  64  -   80
  1.         function onregister() {
  2.                 $this->init_input();
  3.                 $username = $this->input('username');
  4.                 $password =  $this->input('password');
  5.                 $email = $this->input('email');
  6.                 $questionid = $this->input('questionid');
  7.                 $answer = $this->input('answer');

  8.                 if(($status = $this->_check_username($username)) < 0) {
  9.                         return $status;
  10.                 }
  11.                 //if(($status = $this->_check_email($email)) < 0) {
  12.                 //        return $status;
  13.                 //}
  14.                 $uid = $_ENV['user']->add_user($username, $password, $email, 0, $questionid, $answer);
  15.                 return $uid;
  16.         }
复制代码
你看check_email 的判断 ,他没有去看  uc 里是不是设了允许重复注册 ,都检查了一遍。

还是会返回  -6  

我自己只能把这些给 注释掉
回复

使用道具 举报

gavindev 发表于 2009-7-9 20:31:58 | 显示全部楼层
本帖最后由 gavindev 于 2009-7-9 20:35 编辑

我错了,判断还是有的,在下面function  _check_email() 里
但检查结果仍然是错误 , 我的解决方法如下:
也有老大说要把 uc_client/date/cache/ 下清空,再更新缓存,我的仍无效,不过碰到的人可以试试

  1. user.php
  2.         function _check_email($email, $username = '') {
  3.                 if(empty($this->settings)) {
  4.                         $this->settings = $this->cache('settings');
  5.                 }
  6.                 if(!$_ENV['user']->check_emailformat($email)) {
  7.                         return UC_USER_EMAIL_FORMAT_ILLEGAL;
  8.                 } elseif(!$_ENV['user']->check_emailaccess($email)) {
  9.                         return UC_USER_EMAIL_ACCESS_ILLEGAL;
  10.                 } elseif(!$this->settings['doublee'] && $_ENV['user']->check_emailexists($email, $username)) {
  11.                         return 1;//原来是返回 邮件已经存在 ,我改为直接返回1
  12.                               //UC_USER_EMAIL_EXISTS;
  13.                 } else {
  14.                         return 1;
  15.                 }
  16.         }
复制代码
回复

使用道具 举报

jousst 发表于 2009-7-14 11:47:26 | 显示全部楼层
其實不管問題出在哪~很怪的
之前都沒有問題
但現在為什麼出問題了

會不會是官方改了什麼東西造成的~~
因為被困擾很久~希望有前輩可以出來解惑

謝謝大家協助
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 13:49 , Processed in 0.041581 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表