已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 虎绿林 > 版务

标题: 新功能:自动短信注册/修改密码

作者: @Ta

时间: 2013-07-22

点击: 7645

现在注册页面已更新,加入了自动短信注册说明。
未绑定手机号的老用户会在页面底部看到绑定手机号提示,须按提示发短信方可绑定手机号。
手机号绑定后,可随时发 hu60#新密码 到 13597821005 来重置你的密码。
查看绑定记录

[隐藏样式|查看源码]


『回复列表(16|隐藏机器人聊天)』

3. @小杨,内信我,提供证据。如果不行,发短信给我。
(/@Ta/2013-07-22 23:09//)

5. @小杨,QQ容易被盗用。
(/@Ta/2013-07-22 23:14//)

6. @老虎会游泳,威武
(/@Ta/2013-07-22 23:16//)

7. 咦?这个短信平台是要钱的吧?多少钱呢?@老虎会游泳  
(/@Ta/2013-07-22 23:33//)

8. @刘付杰,应该是小文赞助
(/@Ta/2013-07-22 23:42//)

9. @老虎会游泳,能否分享出接口呢,我想参照一下却一直没有找到 
(/@Ta/2013-07-22 23:53//)

10. @老虎会游泳,用户中心大部分不能用
(/@Ta/2013-07-23 00:00//)

11. @惯性聚合,sms.php
<?php
/**
* 小文短信猫平台注册接口
* 
* 短信猫提供者网站:
* http://sms.wap21.net/
*/
try {
include './config.inc.php';
$index = 'hu60#';
$adminPhone = '15386332951';
$key = '保密';
if ($_POST['smskey'] !== $key) {
    exit('2'); //通讯密令错误
}
$phone = $_POST['phone'];
if (($len = strlen($phone))!=11) {
    throw new Exception("手机号码长度不正确,应为11位,实为{$len}位。", 22);
}
$msg = substr($_POST['message'], strlen($index));
$pos = strpos($msg, '#');
/*新注册或修改密码*/
if ($pos === false) {
  $uinfo = user::getinfobyregphone($phone, 'uid,name');
  if ($uinfo === false) {
    regNew($phone, $msg, $phone);
  } else {
    changePasswd($uinfo['uid'], $msg);
  }
} else {
  $name = substr($msg, 0, $pos);
  $pass = substr($msg, $pos+1);
  $uinfo = user::getinfobyname($name);
  $uinfo2 = user::getinfobyregphone($phone);
  if ($uinfo === false && $uinfo2 === false) {
    regNew($name, $pass, $phone);
  } else {
    bindPhone($name, $pass, $phone, $uinfo, $uinfo2);
  }
}
} catch(Exception $e) {
  $log = $e->getMessage();
  if ($log !== '') {
    logAdd($phone, $e->getMessage());
  }
  exit((string)$e->getCode());
}
  
/*注册新用户*/
function regNew($name, $pass, $phone) {
  if (strlen($name)>25) {
    throw new Exception("注册失败,用户名过长。用户名不能超过25字节,即不能超过8个汉字或25个英文字母。", 22);
  }
  if (!preg_match('!^[\x{4e00}-\x{9fa5}a-zA-Z0-9_-]+$!us', $name)) {
    throw new Exception("注册失败,用户名包含特殊字符。用户名只允许汉字(不包括标点符号)、数字、英文大小写字母、下划线(_)和减号(-)。", 22);
  }
  $uinfo = user::getinfobyname($name, 'uid');
  if ($uinfo !== false) {
    throw new Exception("注册失败,用户“{$name}”已存在,请更换用户名。”", 22);
  }
  $sql = 'insert into user(name,pass,regphone,regtime,mtime,sid) values(?,?,?,?,?,?)';
  $sid = microtime(true);
  $rs = db::conn()->prepare($sql);
  if (!$rs || !$rs->execute(array($name, md5($pass), $phone, time(), 0, $sid))) {
    throw new Exception("用户注册失败,数据库错误。", 22);
  } else {
    throw new Exception("用户“{$name}”注册成功。", 1);
  }
}

/*修改密码*/
function changePasswd($uid, $pass) {
  $sql = 'update user set pass=?, mtime=0 where uid=?';
  var_dump($uid);
  $rs = db::conn()->prepare($sql);
  if (!$rs || !$rs->execute(array(md5($pass), $uid))) {
    throw new Exception("密码修改失败,数据库出现错误。", 22);
  } else {
    throw new Exception("密码修改成功。", 11);
  }
}

/*绑定手机号*/
function bindPhone($name, $pass, $phone, $uinfo, $uinfo2) {
  global $index;
  //var_dump($uinfo);die;
  if ($uinfo['regphone'] !== NULL) {
    throw new Exception("手机号绑定失败,用户“{$name}”已绑定手机,解绑请与管理员联系。要修改您的密码,请用该手机直接发送“{$index}密码”到指定号码,不需要包括用户名。", 22);
  } elseif ($uinfo2 !== false) {
    throw new Exception("手机号绑定失败,该手机已与用户“{$uinfo2['name']}”绑定,更换号码请与管理员联系。要修改密码,请用绑定的手机直接发送“{$index}密码”到指定号码,不需要包括用户名。", 22);
  } elseif ($uinfo['pass'] !== md5($pass)) {
       throw new Exception("手机号绑定失败,密码错误。", 22);
  } else {
    $sql = 'update user set regphone=? where uid=?';    $rs = user::$db->prepare($sql);
    if (!$rs || !$rs->execute(array($phone, $uinfo['uid']))) {
        throw new Exception("手机号绑定失败,数据库出现错误。", 22);
    } else {
        throw new Exception("手机号绑定成功。", 1);
    }
  }
}

/*操作日志*/
function logAdd($phone, $msg) {
  $sql = 'insert into smslog(phone, msg, time) values(?, ?, ?)';
  $rs = db::conn()->prepare($sql);
  $rs->execute(array($phone, $msg, time()));
}
(/@Ta/2013-07-23 00:34//)

12. 为什么不用这个@老虎会游泳 @残缘
(/@Ta/2013-07-23 00:35//)

13. @老虎会游泳   看楼下
(/@Ta/2013-07-23 00:38//)

14. @老虎会游泳,看不懂,我理解不到啊亲, 这个文件是放在hu60 还是 小文网站的呢?  
(/@Ta/2013-07-23 00:43//)

15. @老虎会游泳
突然想到了,不知道是不是这样的,

这个文件放在虎绿林,
当我向指定代码发送信息时,短信平台收到短信于是回访虎绿林的这个文件
然后虎绿林做出回复,是吗 

(/@Ta/2013-07-23 00:46//)

16. @老虎会游泳,短信的格式是不是自己编的呢?  
(/@Ta/2013-07-23 01:00//)

17. @love封尘
(/@Ta/2013-07-23 07:28//)

18. @残缘,现在用了,感谢提醒。
(/@Ta/2013-07-23 07:29//)

19. @惯性聚合,就是15楼那样。
短信格式是指令#任意内容,所以你可以自定义后面的格式。
(/@Ta/2013-07-23 07:30//)

回复需要登录

9月16日 17:03 星期二

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1