示例#1
0
文件: sms.php 项目: xtha/salt
$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元时,发送报警信息
示例#2
0
//公司地址,不可为空
$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;
示例#3
0
 $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);
 }