Discuz! X 自动批量注册帐号(纯PHP脚本)

来自版块 Discuz教程
496
0
温馨提示:如下载链接失效,请前往 问题反馈专用帖 进行反馈! 兔源码交流群:493651246
此代码可用于新站初始保留UID用,自动注册的用户以“U-***”为用户名(***为该帐号对应的uid),后期如需启用可在UCenter中修改用户名。将此代码保存为php文件上传至Discuz! X根目录访问即可,默认每次添加1000个用户,可在uri末尾添加 ?end=*** 来指定注册到哪个uid终止。
注意:
1、如果不是新站,请先关闭UCenter下所有站点的注册功能,使用完后再重新开启注册功能。
2、如果UCenter下有多个站点,必须保证UCenter中最后注册的用户已在要运行此代码的DX站点中激活,否则用户名中的uid与其实际uid不能对应;
3、使用后请务必删除此文件,以防被他人滥用!
  1. <?php

  2. require_once './source/class/class_core.php';
  3. require_once './config/config_ucenter.php';
  4. require_once './uc_client/client.php';

  5. $discuz = C::app();
  6. $discuz->init();

  7. $startid = DB::result_first("select uid from ".DB::table('common_member')." ORDER BY uid DESC LIMIT 1") + 1; //查询最新用户的UID(仅查询此站点,请查看注意事项第1、2条)
  8. $endid = $startid - 1 + 1000; //每次跳转的注册量
  9. $endid = $_GET['end'] >= $startid && $_GET['end'] < $endid ? $_GET['end'] : $endid;

  10. for ($regid=$startid; $regid<=$endid; $regid++) {
  11.         $info['username'] = 'U-'.$regid;
  12.         $info['password'] = substr(md5(mt_rand()), 2, 12);
  13.         $info['email'] = 'none@none.com';
  14.         $info['ip'] = '127.0.0.1';

  15.         $info['profile'] = array();
  16.         $info['profile']['field8'] = 'Reserved';

  17.         $uid = register($info); //执行注册
  18.         if(!is_numeric($uid)) exit('注册'.$regid.'失败:'.$uid); //失败退出
  19. }

  20. $continue = $_GET['end'] > $endid ? ' ,正在继续……<script language="JavaScript">setTimeout(function(){location.reload()},2000);</script>' : ' 。操作完成!';
  21. echo '已注册 '.$uid.$continue;

  22. function register($info) {
  23.         $uid = uc_user_register(addslashes($info['username']), $info['password'], $info['email'], '', '', $info['ip']); //向UCenter注册
  24.         if($uid <= 0) {
  25.                 if($uid == -1) {
  26.                         return '用户名不合法';
  27.                 } elseif($uid == -2) {
  28.                         return '包含要允许注册的词语';
  29.                 } elseif($uid == -3) {
  30.                         return '用户名已经存在';
  31.                 } elseif($uid == -4) {
  32.                         return 'Email 格式有误';
  33.                 } elseif($uid == -5) {
  34.                         return 'Email 不允许注册';
  35.                 } elseif($uid == -6) {
  36.                         return '该 Email 已经被注册';
  37.                 } else {
  38.                         return '未定义';
  39.                 }
  40.         } else {
  41.                 $groupid = 10; //默认用户组
  42.                 $profile = is_array($info['profile']) ? $info['profile'] : ''; //资料项
  43.                 $init_arr = array('credits'=>explode(',', '0,0,0,0,0,0,0,0'), 'profile'=>$profile, 'emailstatus'=>0);
  44.                 $flag = C::t('common_member')->insert($uid, $info['username'], md5($info['password']), $info['email'], $info['ip'], $groupid, $init_arr);
  45.                 return $uid;
  46.         }
  47. }

  48. ?>
复制代码

全部评论 0

您需要登录后才可以回帖 立即登录
输入你要评论的内容......
0
0
0
返回顶部