激情五月婷婷综合网_奇米精品一区二区三区四区_91在线码无精品_国产精品久久久久一区二区三区_日韩一区二区在线看_99国产欧美另类久久久精品_日韩电影免费一区_亚洲欧美在线另类_9色porny自拍视频一区二区_久久一区二区三区四区_日本在线不卡视频_欧美日韩三级一区二区_亚洲欧美日韩国产综合在线_国产精品影视网_欧美中文字幕一区_制服.丝袜.亚洲.中文.综合

0712-2888027 189-8648-0214
微信公眾號

孝感風信網絡科技有限公司微信公眾號

當前位置:主頁 > 技術支持 > PHP > php詳解手機注冊驗證碼操作思路與流程

php詳解手機注冊驗證碼操作思路與流程

時間:2018-07-20來源:風信官網 點擊: 1176次
手機注冊驗證碼操作思路與流程

1、前端傳入手機號參數并做驗證碼倒計時

  1. /**
  2. * 重新獲取驗證碼倒計時
  3. * @returns
  4. */
  5. reGetSMS : function () {
  6. var obj = $('#btn_getCode');
  7. // 重新發送倒計時
  8. var validCode = true;
  9. var time=60;
  10. if (validCode) {
  11. validCode = false;
  12. var t = setInterval(function () {
  13. time --;
  14. $(obj).html('重新獲取('+time+'s)');
  15. if (time==0) {
  16. clearInterval(t);
  17. $(obj).html("重新獲取");
  18. validCode = true;
  19. sms_flag = true;
  20. }
  21. },1000);
  22. }
  23. }
2、隨機生成驗證碼
  1. public static String getSMSCode() {
  2. return String.valueOf((int)(Math.random() * 9000) + 1000);
  3. }
3、將生成的驗證碼通過第三方接口已短信形式發送給手機
  1. /**
  2. *參數是手機號碼和由驗證碼組成的字符串
  3. */
  4. private static boolean send(String phone, String content) throws Exception {
  5.  
  6. // 創建StringBuffer對象用來操作字符串
  7. StringBuffer sb = new StringBuffer("http://http.yunsms.cn/tx/?");
  8. // 向StringBuffer追加用戶名
  9. sb.append("uid=56262");
  10. // 向StringBuffer追加密碼(密碼采用MD5 32位 小寫)
  11. sb.append("&pwd=3019654cd7d57f8a8464e2b63f8c923c");
  12. // 向StringBuffer追加手機號碼
  13. sb.append("&mobile=" + phone);
  14. // 向StringBuffer追加消息內容轉URL標準碼
  15. sb.append("&content=" + URLEncoder.encode(content,"gbk"));
  16. BufferedReader in = null;
  17. URL url = null;
  18. HttpURLConnection connection = null;
  19. int result = 0;
  20. try {
  21. url = new URL(sb.toString());
  22. connection = (HttpURLConnection) url.openConnection();
  23. connection.setRequestMethod("POST");
  24. in = new BufferedReader(new InputStreamReader(url.openStream()));
  25. result = Integer.parseInt(in.readLine());
  26. } catch (Exception e) {
  27. throw new Exception("發送短信失敗",e);
  28. } finally {
  29. if (in != null) {
  30. in.close();
  31. }
  32. if (connection != null) {
  33. connection.disconnect();
  34. }
  35. }
  36. return result == SUCCESS_SMS;
  37. }
4、保存驗證碼到數據庫

要點: a、需要存的參數手機號、驗證碼、開始時間、結束時間

  1. public class SMSDto {
  2.  
  3. /** 手機號碼 */
  4. private String phone;
  5. /** 短信驗證碼 */
  6. private String sms_code;
  7. /** 開始時間(當前秒數) */
  8. private String begin_time;
  9. /** 到期時間(當前秒數 + 有效期) */
  10. private String end_time;
  11.  
  12. /**
  13. * 默認構造方法
  14. */
  15. public SMSDto() {
  16. super();
  17. }
  18.  
  19. /**
  20. * 生成驗證碼
  21. * @param phone 手機
  22. * @param sms_code 驗證碼
  23. */
  24. public SMSDto(String phone, String sms_code) {
  25. super();
  26. this.phone = phone;
  27. this.sms_code = sms_code;
  28. int cur = (int) (System.currentTimeMillis() / 1000);
  29. this.begin_time = String.valueOf(cur);
  30. this.end_time = String.valueOf(cur + GlobalContract.TIME_SMS);
  31. }
  32. }
b、先驗證手機號碼是否存在,存在則修改

5、驗證碼驗證
// 1.驗證【驗證碼】 SMSDto smsDto = smsUserDao.getSMSCode(phone); a、驗證驗證碼是否正確 sms_code.equals(smsDto.getSms_code()) b、驗證驗證碼是否過期 if (((long) (System.currentTimeMillis() / 1000)) < Long.parseLong(smsDto.getEnd_time())) { //未過期 }else{ //已過期 }

實現層關鍵代碼:

  1. //準備驗證碼
  2. private ResultVO sendSmsCode(String phone) throws Exception{
  3. log.info(GlobalContract.LOG_BEGIN);
  4. ResultVO resultVO = null;
  5.  
  6. // 1.生成驗證碼
  7. String random = SMSUtil.getSMSCode();
  8. // 2.發送驗證碼
  9. if(SMSUtil.sendSMS(phone, random)){
  10. // 3.保存驗證碼
  11. SMSDto sms = new SMSDto(phone, random);
  12. SMSDto smsDto = smsUserDao.getSMSCode(phone);
  13. if (smsDto == null) {
  14. // 新增驗證碼
  15. smsUserDao.addUserSMS(sms);
  16. } else {
  17. // 修改驗證碼
  18. smsUserDao.updateUserSMS(sms);
  19. }
  20.  
  21. resultVO = new ResultVO();
  22. } else {
  23. resultVO = new ResultVO(GlobalMessage.MSG_07);
  24. }
  25. log.info(GlobalContract.LOG_END);
  26. return resultVO;
  27. }
SMSUtil類關鍵代碼:
  1. public class SMSUtil {
  2.  
  3. /** 短信模板 */
  4. private static final String CONTENT_0 = "(驗證碼)感謝您的支持,祝您生活愉快!【xxx】";
  5. /** SMS發送成功 */
  6. public static final int SUCCESS_SMS = 100;
  7.  
  8. // public static void main(String[] args) throws Exception {
  9. // System.out.println(sendSMS("18018025014", "123456"));
  10. // }
  11.  
  12. /**
  13. * 發送驗證碼
  14. * @param phone 手機
  15. * @param random 驗證碼
  16. * @return
  17. */
  18. public static boolean sendSMS(String phone, String random) throws Exception {
  19.  
  20. return send(phone, random.concat(CONTENT_0));
  21. }
  22.  
  23. /**
  24. * 生成驗證碼
  25. * @return
  26. */
  27. public static String getSMSCode() {
  28.  
  29. return String.valueOf((int)(Math.random() * 9000) + 1000);
  30. }
  31.  
  32. /**
  33. * 發送短信
  34. * @param phone 手機號碼
  35. * @param content 發送內容
  36. * @return
  37. */
  38. private static boolean send(String phone, String content) throws Exception {
  39.  
  40. // 創建StringBuffer對象用來操作字符串
  41. StringBuffer sb = new StringBuffer("http://http.yunsms.cn/tx/?");
  42. // 向StringBuffer追加用戶名
  43. sb.append("uid=56262");
  44. // 向StringBuffer追加密碼(密碼采用MD5 32位 小寫)
  45. sb.append("&pwd=3019654cd7d57f8a8464e2b63f8c923c");
  46. // 向StringBuffer追加手機號碼
  47. sb.append("&mobile=" + phone);
  48. // 向StringBuffer追加消息內容轉URL標準碼
  49. sb.append("&content=" + URLEncoder.encode(content,"gbk"));
  50. BufferedReader in = null;
  51. URL url = null;
  52. HttpURLConnection connection = null;
  53. int result = 0;
  54. try {
  55. url = new URL(sb.toString());
  56. connection = (HttpURLConnection) url.openConnection();
  57. connection.setRequestMethod("POST");
  58. in = new BufferedReader(new InputStreamReader(url.openStream()));
  59. result = Integer.parseInt(in.readLine());
  60. } catch (Exception e) {
  61. throw new Exception("發送短信失敗",e);
  62. } finally {
  63. if (in != null) {
  64. in.close();
  65. }
  66. if (connection != null) {
  67. connection.disconnect();
  68. }
  69. }
  70. return result == SUCCESS_SMS;
  71. }
  72.  
  73. }
熱門關鍵詞: php 手機注冊 驗證碼
欄目列表
推薦內容
熱點內容
展開
激情五月婷婷综合网_奇米精品一区二区三区四区_91在线码无精品_国产精品久久久久一区二区三区_日韩一区二区在线看_99国产欧美另类久久久精品_日韩电影免费一区_亚洲欧美在线另类_9色porny自拍视频一区二区_久久一区二区三区四区_日本在线不卡视频_欧美日韩三级一区二区_亚洲欧美日韩国产综合在线_国产精品影视网_欧美中文字幕一区_制服.丝袜.亚洲.中文.综合
欧美一区二区免费观在线| 国产精品久久久久久久久果冻传媒| 欧美不卡激情三级在线观看| 国产精品情趣视频| 久久99久久久欧美国产| 色综合激情五月| 国产欧美日韩一区二区三区在线观看| 视频一区视频二区中文字幕| 91麻豆国产香蕉久久精品| 久久综合久久综合亚洲| 日韩福利视频网| 欧美午夜精品免费| 亚洲乱码国产乱码精品精的特点 | 欧美一级夜夜爽| 亚洲香蕉伊在人在线观| 97se狠狠狠综合亚洲狠狠| 久久久精品天堂| 国产综合成人久久大片91| 欧美一级夜夜爽| 日韩 欧美一区二区三区| 欧美日韩精品一区二区天天拍小说 | 一本大道av伊人久久综合| 国产精品美女久久久久高潮| 国产高清不卡一区| 国产午夜精品美女毛片视频| 国产在线播放一区| 久久天堂av综合合色蜜桃网| 九九国产精品视频| 精品三级在线观看| 国内精品嫩模私拍在线| 2020国产成人综合网| 久久se精品一区二区| 欧美电视剧免费全集观看| 另类小说图片综合网| 欧美刺激脚交jootjob| 九九热在线视频观看这里只有精品| 日韩欧美久久久| 精一区二区三区| 亚洲精品一线二线三线无人区| 激情五月播播久久久精品| 精品成人佐山爱一区二区| 国产一区二区三区免费看| 国产无遮挡一区二区三区毛片日本| 国产精品一线二线三线精华| 国产午夜亚洲精品理论片色戒| 东方aⅴ免费观看久久av| 中文字幕中文乱码欧美一区二区 | 久久精品一区蜜桃臀影院| 国产大片一区二区| 亚洲国产成人午夜在线一区| 不卡的电影网站| 亚洲精品国产a久久久久久| 欧美三区在线观看| 日韩国产欧美三级| 日韩精品一区二区三区蜜臀| 国产麻豆精品theporn| 中文字幕乱码亚洲精品一区| 91丨porny丨首页| 亚洲国产毛片aaaaa无费看| 欧美精三区欧美精三区| 久久av中文字幕片| 国产精品网曝门| 欧美亚洲免费在线一区| 日av在线不卡| 国产亚洲成av人在线观看导航| 99精品视频在线免费观看| 亚洲一区免费观看| 日韩精品一区二区三区视频播放| 国产成人一区二区精品非洲| 亚洲男人电影天堂| 91精品国产欧美一区二区18 | www国产精品av| 成a人片亚洲日本久久| 亚洲一区二区美女| 精品国产三级电影在线观看| 成人综合在线视频| 亚洲在线免费播放| 日韩欧美激情在线| jlzzjlzz亚洲日本少妇| 同产精品九九九| 国产免费成人在线视频| 欧美曰成人黄网| 久草在线在线精品观看| 日韩一区在线播放| 欧美一级夜夜爽| eeuss鲁片一区二区三区在线看| 亚洲v精品v日韩v欧美v专区| 久久综合久久综合久久综合| 色婷婷av一区二区三区之一色屋| 老司机精品视频一区二区三区| 国产精品久久久久久久第一福利| 欧美精品成人一区二区三区四区| 国产精品自拍在线| 亚洲国产一区二区三区 | 亚洲国产欧美一区二区三区丁香婷| 日韩欧美电影一二三| 成人97人人超碰人人99| 三级欧美在线一区| 国产精品久久久久久妇女6080| 欧美卡1卡2卡| av在线这里只有精品| 日本美女一区二区| 亚洲三级免费电影| 欧美精品一区二区久久婷婷| 在线观看免费视频综合| 国产盗摄精品一区二区三区在线 | 91视视频在线观看入口直接观看www | 久久久久久久久岛国免费| 欧洲一区在线观看| 福利电影一区二区三区| 蜜臀av在线播放一区二区三区| 综合激情成人伊人| 久久久无码精品亚洲日韩按摩| 欧美人妇做爰xxxⅹ性高电影| 成人黄色一级视频| 紧缚奴在线一区二区三区| 亚洲午夜精品一区二区三区他趣| 国产欧美一区二区精品秋霞影院| 欧美久久久久免费| 色婷婷久久久亚洲一区二区三区 | 精品入口麻豆88视频| 欧美视频一区二区三区在线观看| 国产成人在线看| 精品亚洲porn| 午夜日韩在线电影| 亚洲猫色日本管| 欧美经典一区二区三区| 日韩一区二区三区在线| 在线一区二区三区做爰视频网站| 国产成人免费视频网站 | 在线亚洲一区二区| 国产福利一区二区三区视频| 日本美女一区二区三区视频| 夜夜亚洲天天久久| 成人免费在线播放视频| 国产欧美一区二区精品性色超碰 | 一区二区三区四区蜜桃| 日本一区二区视频在线| 欧美videofree性高清杂交| 欧美日韩国产首页在线观看| 91免费视频网址| 成人激情图片网| 高清在线不卡av| 国产一区二区三区四区五区入口| 日本欧美在线看| 午夜av电影一区| 亚洲va欧美va国产va天堂影院| 亚洲精品菠萝久久久久久久| 亚洲欧洲日产国码二区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 欧美一区二区视频在线观看| 欧美日韩亚洲综合一区| 欧美伊人久久大香线蕉综合69| 色欲综合视频天天天| 色综合视频在线观看| 99久久国产综合精品麻豆| 成人免费黄色大片| 成人妖精视频yjsp地址| 国产成人夜色高潮福利影视| 国产精品一区在线观看你懂的| 狠狠网亚洲精品| 国产乱码精品1区2区3区| 国产美女久久久久| 国产乱子轮精品视频| 国产乱码精品一区二区三| 国产精华液一区二区三区| 美女免费视频一区二区| 久久久久久久久久久黄色| 91.xcao| 欧美日韩免费在线视频| 欧美日韩一区二区在线视频| 欧美性猛交一区二区三区精品| 欧美亚洲禁片免费| 欧美日韩色综合| 制服丝袜亚洲精品中文字幕| 91麻豆精品国产91| 欧美成人乱码一区二区三区| 欧美大片免费久久精品三p| 26uuu久久天堂性欧美| 国产亚洲女人久久久久毛片| 国产农村妇女毛片精品久久麻豆 | 欧美一区二区日韩一区二区| 91精品国产91久久综合桃花| 91麻豆精品久久久久蜜臀| 欧美成人女星排名| 久久精品免视看| 中文字幕一区二区5566日韩| 亚洲色图欧洲色图婷婷| 亚洲成国产人片在线观看| 蜜臀国产一区二区三区在线播放| 国内欧美视频一区二区| 丁香婷婷深情五月亚洲| 色噜噜狠狠色综合欧洲selulu| 欧美性猛交xxxx黑人交| 欧美一二三在线| 国产亚洲女人久久久久毛片| 亚洲三级电影网站| 中文字幕中文字幕中文字幕亚洲无线| 国产视频一区二区三区在线观看| 国产日韩视频一区二区三区|