- /**
- * 短信动态码www.bcty365.com
- */
- public function get_captchaOp(){
- $state = '发送失败';
- $phone = $_GET['phone'];
- if (strlen($phone) == 11){
- $log_type = $_GET['type'];//短信类型:1为注册,2为登录,3为找回密码
- $model_sms_log = Model('sms_log');
- $condition = array();
- $condition['log_ip'] = getIp();
- $condition['log_type'] = $log_type;
- $sms_log = $model_sms_log->getSmsInfo($condition);
- if(empty($sms_log) && ($sms_log['add_time'] > TIMESTAMP-600)) {//同一IP十分钟内只能发一条短信
- $state = '同一IP地址十分钟内,请勿多次获取动态码!';
- } else {
- $state = 'true';
- $log_array = array();
- $model_member = Model('member');
- $member = $model_member->getMemberInfo(array('member_mobile'=> $phone));
- $captcha = rand(100000, 999999);
- $log_msg = '【'.C('site_name').'】您于'.date("Y-m-d");
- switch ($log_type) {
- case '1':
- if(C('sms_register') != 1) {
- $state = '系统没有开启手机注册功能';
- }
- if(!empty($member)) {//检查手机号是否已被注册
- $state = '当前手机号已被注册,请更换其他号码。';
- }
- $log_msg .= '申请注册会员,动态码:'.$captcha.'。';
- break;
- case '2':
- if(C('sms_login') != 1) {
- $state = '系统没有开启手机登录功能';
- }
- if(empty($member)) {//检查手机号是否已绑定会员
- $state = '当前手机号未注册,请检查号码是否正确。';
- }
- $log_msg .= '申请登录,动态码:'.$captcha.'。';
- $log_array['member_id'] = $member['member_id'];
- $log_array['member_name'] = $member['member_name'];
- break;
- case '3':
- if(C('sms_password') != 1) {
- $state = '系统没有开启手机找回密码功能';
- }
- if(empty($member)) {//检查手机号是否已绑定会员
- $state = '当前手机号未注册,请检查号码是否正确。';
- }
- $log_msg .= '申请重置登录密码,动态码:'.$captcha.'。';
- $log_array['member_id'] = $member['member_id'];
- $log_array['member_name'] = $member['member_name'];
- break;
- default:
- $state = '参数错误';
- break;
- }
- if($state == 'true'){
- $sms = new Sms();
- $result = $sms->send($phone,$log_msg);
- if($result){
- $log_array['log_phone'] = $phone;
- $log_array['log_captcha'] = $captcha;
- $log_array['log_ip'] = getIp();
- $log_array['log_msg'] = $log_msg;
- $log_array['log_type'] = $log_type;
- $log_array['add_time'] = time();
- $model_sms_log->addSms($log_array);
- } else {
- $state = '手机短信发送失败';
- }
- }
- }
- } else {
- $state = '验证码错误';
- }
- exit($state);
- }