$strStatusParam = "reg=" . $strReg . "&pwd=" . $strPwd; $strUpPwdParam = "reg=" . $strReg . "&pwd=" . $strPwd . "&newpwd=" . $strNewPwd; ############################################## ############################################## # Call an API ############################################## $strRes = ""; #$strRes = $sender->postSend($strRegUrl,$strRegParam); #定时短信 #$strRes = $sender->postSend($strSchSmsUrl,$strSchSmsParam); #strRes = $sender->postSend($strStatusUrl,$strStatusParam); #更新密码 #strRes = $sender->postSend($strUpPwdUrl,$strUpPwdParam); #查询余额 $strBalanceParam = "reg=" . $strReg . "&pwd=" . $strPwd; $strRes = $sender->postSend($strBalanceUrl, $strBalanceParam); ############################################## # check Result ############################################## #$strRes = "result=-11&message=余额不足"; $strInfo = split('[&=]', $strRes); $strResult = $strInfo[1]; $strMessage = $strInfo[3]; #echo $argv[1]; #echo $argv[2]; #短信用完 if ($strResult == "-11") { echo $strMessage; exit(2); } else { #可用短信少于1000条/10元时,发送报警信息
//公司地址,不可为空 $strNewPwd = "AAAAAAAA"; //修改后的密码 //以下参数为服务器URL,以及发到服务器的参数,不用修改 $strRegUrl = "http://www.stongnet.com/sdkhttp/reg.aspx"; $strBalanceUrl = "http://www.stongnet.com/sdkhttp/getbalance.aspx"; $strSmsUrl = "http://www.stongnet.com/sdkhttp/sendsms.aspx"; $strSchSmsUrl = "http://www.stongnet.com/sdkhttp/sendschsms.aspx"; $strStatusUrl = "http://www.stongnet.com/sdkhttp/getmtreport.aspx"; $strUpPwdUrl = "http://www.stongnet.com/sdkhttp/uptpwd.aspx"; $strRegParam = "reg=" . $strReg . "&pwd=" . $strPwd . "&uname=" . $strUname . "&mobile=" . $strMobile . "&phone=" . $strRegPhone . "&fax=" . $strFax . "&email=" . $strEmail . "&postcode=" . $strPostcode . "&company=" . $strCompany . "&address=" . $strAddress; $strBalanceParam = "reg=" . $strReg . "&pwd=" . $strPwd; $strSmsParam = "reg=" . $strReg . "&pwd=" . $strPwd . "&sourceadd=" . $strSourceAdd . "&phone=" . $strPhone . "&content=" . $strContent; $strSchSmsParam = "reg=" . $strReg . "&pwd=" . $strPwd . "&sourceadd=" . $strSourceAdd . "&tim=" . $strTim . "&phone=" . $strPhone . "&content=" . $strContent; $strStatusParam = "reg=" . $strReg . "&pwd=" . $strPwd; $strUpPwdParam = "reg=" . $strReg . "&pwd=" . $strPwd . "&newpwd=" . $strNewPwd; $strRes = ""; //以下为HTTP接口主要方法,测试时请打开对应注释进行测试 //注册 //$strRes = $sender->postSend($strRegUrl,$strRegParam); //查询余额 //$strRes = $sender->postSend($strBalanceUrl,$strBalanceParam); //发送短信 //$strRes = $sender->postSend($strSmsUrl,$strSmsParam); //定时短信 //$strRes = $sender->postSend($strSchSmsUrl,$strSchSmsParam); //状态报告 //$strRes = $sender->postSend($strStatusUrl,$strStatusParam); //修改密码 $strRes = $sender->postSend($strUpPwdUrl, $strUpPwdParam); echo $strRes;
$sql = "SELECT user_id from ecs_verified_sms where user_id={$user_id}"; $row = $GLOBALS['db']->getRow($sql); $time = time(); $flag = ''; if ($row) { $sql = "select lastest_send_time from ecs_verified_sms where user_id={$user_id}"; $tm = $GLOBALS['db']->getOne($sql); //上一次发送时间 if ($time - $tm > 60) { $sql = "update ecs_verified_sms set short_message={$num},lastest_send_time={$time},type={$type} where user_id={$user_id}"; if ($type == 2) { $sql = "update ecs_verified_sms set new_shot_msg={$num},lastest_send_time={$time},type={$type},new_phone={$mobile} where user_id={$user_id}"; } $flag = $GLOBALS['db']->query($sql); //发送短信 $strRes = $sender->postSend($strSmsUrl, $strSmsParam); } } else { $sql = "insert into ecs_verified_sms(user_id,short_message,lastest_send_time,type) values({$user_id},{$num},{$time},{$type})"; if ($type == 2) { $sql = "insert into ecs_verified_sms(user_id,new_shot_msg,lastest_send_time,type,new_phone) values({$user_id},{$num},{$time},{$type},{$mobile})"; } $flag = $GLOBALS['db']->query($sql); $strRes = $sender->postSend($strSmsUrl, $strSmsParam); } if ($flag) { die(urldecode(json_encode(array('success' => '发送成功!')))); } else { die(urldecode(json_encode(array('error' => '发送失败!')))); } exit;
/** * 请求短信验证码 */ function vrcode() { if (!$_POST['phone']) { return self::re(C('emp_phone')); } $isreg = $_POST['isreg']; if (!$_POST['isreg']) { $isreg = 0; } $phone = $_POST['phone']; //file_put_contents("/tmp/test.log", '########vrphone='.$phone.'#######'."\n",FILE_APPEND); //$isreg=1; if (!$isreg) { $phone = $this->phone_judgment_li($phone); //获取用户的手机号码,判断是否已经是注册过的用户。 if (!$phone) { file_put_contents("/tmp/test.log", '########vrphone=' . $phone . '#######' . "\n", FILE_APPEND); file_put_contents("/tmp/test.log", '#######not regist phone########' . "\n", FILE_APPEND); return self::re(C('error_login'), 'not regist phone'); } } else { $c = self::phone_ex($phone); if ($c) { file_put_contents("/tmp/test.log", '########vrphone=' . $phone . '#######' . "\n", FILE_APPEND); file_put_contents("/tmp/test.log", '#######phone_ex########' . "\n", FILE_APPEND); return self::re(C('phone_ex')); } } //$developerphone = explode(",", DEVELOPERPHONE); //特殊开发者(做注册等有关测试的开发者)手机号码绕过短信下发限制 // if (in_array($phone, $developerphone)) { // $sms_limit_flag = 1; // } else { // $sms_limit_flag = sms_limit($phone, 10); //限制每天,每个手机号码最大下行短信(验证码)数量:10条.变量$sms_limit_flag为1,则未超过;为0,则超过10条,一天内不再下发. // } $sms_limit_flag = $this->sms_limit($phone, 20); //限制每天,每个手机号码最大下行短信(验证码)数量:20条.变量$sms_limit_flag为1,则未超过;为0,则超过10条,一天内不再下发. if (!$sms_limit_flag) { return self::re(C('error_login'), 'sms limit'); } $code = $this->generate_randcode(4, 2); //$ct='验证码'.$code.',用户注册或重置密码,请注意保密。'; $ct = urlencode("#code#=" . $code); $sender = new HttpSend(); //$strParam = C('SMS_PK_SN').'='.C('sms_sn').'&'.C('SMS_PK_PWD').'='.C('sms_pwd').'&sourceadd=&'.C('SMS_PK_PHONE').'='.$phone.'&'.C('SMS_PK_CON').'='.$ct; $strParam = C('SMS_PK_SN') . '=' . C('sms_sn') . '&' . C('SMS_PK_PWD') . '=' . C('sms_pwd') . '&tpl_id=57&' . C('SMS_PK_PHONE') . '=' . $phone . '&' . C('SMS_PK_CON') . '=' . $ct; $strRes = $sender->postSend(C('SMS_HOST'), $strParam); //file_put_contents("/tmp/test.log", '########strres='.$strRes.'#######'."\n",FILE_APPEND); $resArray = array(); //parse_str($strRes,$resArray); $resArray = json_decode($strRes, TRUE); //file_put_contents("/tmp/test.log", '########result='.$resArray['error_code'].'#######'."\n",FILE_APPEND); //file_put_contents("/tmp/test.log", '########message='.$resArray['reason'].'#######'."\n",FILE_APPEND); if ($resArray['error_code'] != '0') { file_put_contents("/tmp/test.log", '########message=' . $resArray['reason'] . '#######' . "\n", FILE_APPEND); return self::re($resArray['error_code'], $resArray['reason']); } // $trans = array("\r\n" => ""); // $strRes= strtr($strRes,$trans); // file_put_contents("/tmp/test.log", '########result='.$strRes.'#######'."\n",FILE_APPEND); // $xml = simplexml_load_string($strRes); // file_put_contents("/tmp/test.log", '########error='.$xml->error.'#######'."\n",FILE_APPEND); // file_put_contents("/tmp/test.log", '########mess='.$xml->message.'#######'."\n",FILE_APPEND); // if($xml->error!='0'){ // return self::re($xml->error, $xml->message); // } $redis = RedisConnectSingleton::GetRedisInstance(C('REDIS_DB_VRCODE'))->GetRedisConnect(); $redis->set($phone . '_code', $code); $redis->expire($phone . '_code', 300); return self::re(0); }