亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

php實現的IMEI限制的短信驗證碼發送類

2024-05-04 23:34:53
字體:
來源:轉載
供稿:網友

本文給大家分享的是可以檢驗手機號碼與IMEI的短信驗證碼發送的php類,十分的實用,這里推薦給大家,有需要的小伙伴可以參考下。

php實現的IMEI限制的短信驗證碼發送類

 

 
  1. <?php 
  2. class Api_Sms{ 
  3. const EXPIRE_SEC = 1800; // 過期時間間隔 
  4. const RESEND_SEC = 60; // 重發時間間隔 
  5. const ONE_DAY_FREQ = 5; // 每日向同一個手機號發短信的次數 
  6. const ONE_DAY_IMEI_COUNT = 3; // 每日向同一個手機號發送短信的IMEI個數 
  7.  
  8. public $error = array(); 
  9.  
  10.  
  11. /** 
  12. * 向指定手機號發送驗證碼 
  13. * @param $mobile 
  14. * @param $imei 
  15. * @return bool 
  16. */ 
  17. public function sendVerifyCode($mobile$imei) { 
  18. if(!$this->isMobile($mobile)) { 
  19. $this->error = array('code' => -1, 'msg' => '這個手機號很奇葩哦,請正確輸入后重試'); 
  20. return false; 
  21.  
  22. $redis = Api_Common::redis(); 
  23. $vcKey = 'VC_'.$mobile
  24. $limitKey = 'VC_LIMIT_'.$mobile
  25.  
  26. // 驗證碼重發限制 
  27. $data = json_decode($redis->get($vcKey), true); 
  28. if($data && time() < $data['resend_expire']) { 
  29. $this->error = array('code' => -1, 'msg' => '短信已在1分鐘內發出,請耐心等待'); 
  30. return false; 
  31.  
  32. // 手機號及IMEI限制 
  33. $sendCnt = $redis->zScore($limitKey$imei); 
  34. if($sendCnt && $sendCnt >= self::ONE_DAY_FREQ) { 
  35. $this->error = array('code' => -1, 'msg' => '沒收到短信?請稍等或檢查短信是否被屏蔽'); 
  36. return false; 
  37. $imeiCnt = $redis->zCard($limitKey); 
  38. if($imeiCnt >= self::ONE_DAY_IMEI_COUNT && !$sendCnt) { 
  39. $this->error = array('code' => -1, 'msg' => '已超過驗證碼發送設備限制'); 
  40. return false; 
  41.  
  42. // 獲取驗證碼 
  43. if(!$data) { 
  44. $vc = strval(rand(100000, 999999)); 
  45. $data = array('vc' => $vc'resend_expire' => 0); 
  46. $redis->set($vcKey, json_encode($data)); 
  47. $redis->expire($vcKey, self::EXPIRE_SEC); // 設置驗證碼過期時間 
  48. $vc = $data['vc']; 
  49.  
  50. $content = '安全驗證碼:'.$vc
  51. $result = $this->send($mobile$content); 
  52. if($result) { 
  53. // 重設重發時限 
  54. $data['resend_expire'] = time() + self::RESEND_SEC; 
  55. $ttl = $redis->ttl($vcKey); 
  56. $redis->set($vcKey, json_encode($data)); 
  57. $redis->expire($vcKey$ttl); 
  58.  
  59. // 設置手機號與IMEI限制 
  60. $redis->zIncrBy($limitKey, 1, $imei); 
  61. $redis->expireAt($limitKeystrtotime(date('Y-m-d',strtotime('+1 day')))); 
  62. return $result
  63.  
  64. /** 
  65. * 向指定手機號發送短信 
  66. * @param $mobile 
  67. * @param $content 
  68. * @return bool 
  69. */ 
  70. public function send($mobile$content){ 
  71. // TODO 調用具體服務商API 
  72. return true; 
  73.  
  74. /** 
  75. * 判斷是否為合法手機號 
  76. * @param $mobile 
  77. * @return bool 
  78. */ 
  79. private function isMobile($mobile) { 
  80. if(preg_match('/^1/d{10}$/'$mobile)) 
  81. return true; 
  82. return false; 
  83.  
  84. /** 
  85. * 驗證短信驗證碼 
  86. * @param $mobile 
  87. * @param $vc 
  88. * @return bool 
  89. */ 
  90. public function checkVerifyCode($mobile$vc) { 
  91. $vcKey = 'VC_'.$mobile
  92. $vcData = json_decode(Api_Common::redis()->get($vcKey), true); 
  93. if($vcData && $vcData['vc'] === $vc) { 
  94. return true; 
  95. return false; 
  96.  
  97. /** 
  98. * 清除驗證碼 
  99. * @param $mobile 
  100. */ 
  101. public function cleanVerifyCode($mobile) { 
  102. $redis = Api_Common::redis(); 
  103. $vcKey = 'VC_'.$mobile
  104. $limitKey = 'VC_LIMIT_'.$mobile
  105. $redis->del($vcKey); 
  106. $redis->del($limitKey); 

另付其他網友實現的短信驗證碼代碼

 

 
  1. <? 
  2. /*-------------------------------- 
  3. 功能: 中國短信網PHP HTTP接口 發送短信 
  4. 修改日期: 2009-04-08 
  5. 說明: http://http.c123.com/tx/?uid=用戶賬號&pwd=MD5位32密碼&mobile=號碼&content=內容 
  6. 狀態: 
  7. 100 發送成功 
  8. 101 驗證失敗 
  9. 102 短信不足 
  10. 103 操作失敗 
  11. 104 非法字符 
  12. 105 內容過多 
  13. 106 號碼過多 
  14. 107 頻率過快 
  15. 108 號碼內容空 
  16. 109 賬號凍結 
  17. 110 禁止頻繁單條發送 
  18. 111 系統暫定發送 
  19. 112 號碼不正確 
  20. 120 系統升級 
  21. --------------------------------*/ 
  22. $uid = '9999'//用戶賬號 
  23. $pwd = '9999'//密碼 
  24. $mobile = '13912341234,13312341234,13512341234,02122334444'//號碼 
  25. $content = '中國短信網PHP HTTP接口'//內容 
  26. //即時發送 
  27. $res = sendSMS($uid,$pwd,$mobile,$content); 
  28. echo $res
  29.  
  30. //定時發送 
  31. /* 
  32. $time = '2010-05-27 12:11'; 
  33. $res = sendSMS($uid,$pwd,$mobile,$content,$time); 
  34. echo $res; 
  35. */ 
  36. function sendSMS($uid,$pwd,$mobile,$content,$time='',$mid=''
  37. $http = 'http://http.c123.com/tx/'
  38. $data = array 
  39. 'uid'=>$uid//用戶賬號 
  40. 'pwd'=>strtolower(md5($pwd)), //MD5位32密碼 
  41. 'mobile'=>$mobile//號碼 
  42. 'content'=>$content//內容 
  43. 'time'=>$time//定時發送 
  44. 'mid'=>$mid //子擴展號 
  45. ); 
  46. $re= postSMS($http,$data); //POST方式提交 
  47. if( trim($re) == '100' ) 
  48. return "發送成功!"
  49. else 
  50. return "發送失敗! 狀態:".$re
  51.  
  52. function postSMS($url,$data=''
  53. $row = parse_url($url); 
  54. $host = $row['host']; 
  55. $port = $row['port'] ? $row['port']:80; 
  56. $file = $row['path']; 
  57. while (list($k,$v) = each($data))  
  58. $post .= rawurlencode($k)."=".rawurlencode($v)."&"//轉URL標準碼 
  59. $post = substr$post , 0 , -1 ); 
  60. $len = strlen($post); 
  61. $fp = @fsockopen$host ,$port$errno$errstr, 10); 
  62. if (!$fp) { 
  63. return "$errstr ($errno)/n"
  64. else { 
  65. $receive = ''
  66. $out = "POST $file HTTP/1.1/r/n"
  67. $out .= "Host: $host/r/n"
  68. $out .= "Content-type: application/x-www-form-urlencoded/r/n"
  69. $out .= "Connection: Close/r/n"
  70. $out .= "Content-Length: $len/r/n/r/n"
  71. $out .= $post;  
  72. fwrite($fp$out); 
  73. while (!feof($fp)) { 
  74. $receive .= fgets($fp, 128); 
  75. fclose($fp); 
  76. $receive = explode("/r/n/r/n",$receive); 
  77. unset($receive[0]); 
  78. return implode("",$receive); 
  79. ?> 

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美大片在线看| 亚洲国模精品私拍| 欧美老女人性视频| 欧美最猛性xxxx| 国产网站欧美日韩免费精品在线观看| 国产精品国产亚洲伊人久久| 久久精品中文字幕| 狠狠做深爱婷婷久久综合一区| 久久人人爽亚洲精品天堂| 欧美人成在线视频| 亚洲精品色婷婷福利天堂| 欧美国产视频一区二区| 97视频com| 国产一区二区日韩精品欧美精品| 国产精品美女在线观看| 国产日本欧美一区二区三区| 亚洲激情在线观看视频免费| 97视频在线观看播放| 欧美日韩在线第一页| 国产精品第3页| 亚洲第一区中文99精品| 亚洲成色777777在线观看影院| 欧美激情网站在线观看| 国产精品免费视频xxxx| 91av在线视频观看| 国产亚洲欧洲黄色| 精品国产网站地址| 九九精品在线视频| 亚洲男女自偷自拍图片另类| 亚洲色图第三页| 97成人精品区在线播放| 精品久久久久久中文字幕一区奶水| 欧美激情二区三区| 国产精品激情自拍| 最近2019中文字幕一页二页| 亚洲精品视频二区| 欧美成人免费播放| 97人洗澡人人免费公开视频碰碰碰| 中文字幕久久精品| 久久精品国产成人| 国产亚洲精品激情久久| 日韩精品中文字幕久久臀| 国产成人久久久精品一区| 亚洲色图综合网| 久久视频在线视频| 国产日韩精品在线播放| 欧美整片在线观看| 国产精品视频中文字幕91| 亚洲精品短视频| 98精品国产高清在线xxxx天堂| 欧美黑人一区二区三区| 91久久在线播放| 欧美国产日韩一区| 久久99久久99精品中文字幕| 久久99亚洲热视| 日韩av一卡二卡| 欧美在线观看视频| 国产精品亚洲精品| 亚洲级视频在线观看免费1级| 69久久夜色精品国产69乱青草| 韩国精品久久久999| 久久久精品国产亚洲| 国产欧美va欧美va香蕉在| 国产精品免费观看在线| 欧美视频在线观看免费| 国产91精品黑色丝袜高跟鞋| 在线日韩欧美视频| 亚洲成人激情在线| 久久久久中文字幕| 国产精品678| 欧美一级淫片aaaaaaa视频| 成人h视频在线| 亚洲自拍偷拍福利| 欧美在线激情视频| 亚洲国产成人一区| 国产精品一区久久久| 日韩在线视频观看正片免费网站| 欧美精品在线网站| 亚洲日韩中文字幕| 日韩成人在线视频| 亚洲国产高清福利视频| 国产精品久久久久久久美男| 成人两性免费视频| 欧美日韩在线观看视频小说| 国产精品久久久久久中文字| 国产精品久久久久免费a∨| 国产综合福利在线| 欧美怡春院一区二区三区| 91高清免费在线观看| 高清欧美性猛交xxxx| 中文字幕自拍vr一区二区三区| 成人网址在线观看| 国产视频一区在线| 91精品免费看| 亚洲精品国产综合区久久久久久久| 欧美综合一区第一页| 中文字幕亚洲一区二区三区| 九九热这里只有精品免费看| 日韩精品999| 久久久免费精品| 久久99国产精品自在自在app| 欧美亚洲另类视频| 精品久久久久人成| 日韩精品在线看| 91人人爽人人爽人人精88v| 亚洲欧美自拍一区| 国产xxx69麻豆国语对白| 久久99精品国产99久久6尤物| 国产成人在线亚洲欧美| 欧美有码在线观看视频| 精品性高朝久久久久久久| 久久影视电视剧凤归四时歌| 欧美丝袜一区二区| 欧美亚洲一级片| 狠狠做深爱婷婷久久综合一区| 久久99精品久久久久久青青91| 狠狠爱在线视频一区| 久久成人在线视频| 国产精品爽爽爽| 欧洲精品在线视频| 欧美日韩午夜激情| 97超碰国产精品女人人人爽| 亚洲精品有码在线| 国产亚洲欧美日韩一区二区| 欧美激情一区二区三级高清视频| 欧美整片在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 日日摸夜夜添一区| 1769国内精品视频在线播放| 欧美国产日本高清在线| 国产精品一区二区三区免费视频| 欧美激情一区二区三级高清视频| 一区二区亚洲欧洲国产日韩| 日韩av片免费在线观看| 欧美日韩激情美女| 97成人精品视频在线观看| 伦理中文字幕亚洲| 欧美孕妇孕交黑巨大网站| 欧美一级视频一区二区| 中文在线不卡视频| 日韩av在线导航| 亚洲石原莉奈一区二区在线观看| 国产精品高潮呻吟视频| 精品丝袜一区二区三区| 青青草国产精品一区二区| 1769国产精品| 欧美老女人性视频| 欧美激情精品久久久久久大尺度| 国产一区视频在线| 97av视频在线| 欧美在线亚洲一区| 亚洲激情在线观看视频免费| 欧美激情在线观看视频| 在线视频日韩精品| 国产69精品久久久久9999| 亚洲aⅴ男人的天堂在线观看| 国产精品成人国产乱一区| 亚洲人成电影网站色…| 中文字幕亚洲一区二区三区五十路| 欧美黑人巨大xxx极品| 深夜福利日韩在线看| 亚洲欧美中文另类| 日韩在线一区二区三区免费视频| 欧美日韩国产一区中文午夜|