現在、どのプロジェクトが使用されていても、SMS検証関数が使用されている場合、SMS検証コードがプログラムで設計された回数の制限であり、主にSMS検証コードインターフェイスがブラシのないことを防ぎます。
前の段落は、たまたまプロジェクトのユーザーSMS検証コードのログイン関数であったため、以下を調べて以下に投稿して共有しました。
ここで関係するSMSインターフェイスは、サードパーティのSMSインターフェイス - ダイナミック思考(http://www.lx598.com/)を使用しています。 SMSインターフェイスアクセスについて知りたい場合は、公式Webサイトにアクセスして、SMSインターフェイスAPIドキュメントの説明を確認できます。以下のコードを参照して、それを理解する必要があります。
ユーザー登録パーツ、メインコードは次のとおりです。
//メインJSメソッド://モバイル検証コードを取得:function getRegCode(){if($。TRIM( '#inputCaptcha')。val())== ''){$( '#imgrs')。 $( '#inuptcaptcha')。select();戻る; } if(!isphonenum($( '#phonere')。val())){document.getElementById( 'Phonereinfo')。 } else {document.getElementById( 'Phonereinfo')。innerhtml = '登録後に携帯電話番号でログイン'; $ .ajax({url: "$ {path}/account/checkmob"、type: "post"、data: "account.accmob =" + $( '#phonere')。 document.getElementByid( 'Phonereinfo') : "$ {path}/account/reaimcodegetVecode"、type: "post"、data: "account.accmob =" +$( '#phonere')。val() +"&fromsource = 4&smscount =" +$( '#smscount')。 「アプリケーション/x-www-form-urlencoded; charset = utf-8 "、async:false、function(data){myarray [&");送信されていますコードエラー '){fonereinfo')。 }}); } var smscount = parseint($( '#smscount')。val()); smscount = smscount <3?smscount+1:3; $( '#smscount')。val(smscount); } //新しいユーザーの登録//アカウントはユーザーclass @Action(value = "reaimcodegetVecode")public void reaimcodegetvecode(){printwriter out;文字列結果= "検証コードアプリケーションが失敗しました!もう一度やり直してください!"; try {smsunit = new smsunit(confutil.getProperty( "sys_sms_server")); if(null!= Account.getAccmob()&&!Account.getAccmob()。equals( "")){counce.setaccstatus(new bigdecimal(1)); // set usage status:string valueof(new random()nextint(89999) + 100 000); account.setfsecurityCode(verifyCode); account.setacccreatedate(new date());カレンダーc = charend.getInstance(); c.add(calendar.day_of_month、1); //検証コードの有効期限を24時間に設定します。アカウント。SetfregisterSource(fromSource); //登録源を設定します//携帯電話が検証コードaccountcriteria accountcriteriaia = new Accountcriteria()を取得したかどうかを決定します。 accountcriteria.createcriteria()。 List <Account> ACCS = AccountService .SelectByExample(AccountCriteria); //検証コードの数はint re = 0; integer cishu = 0; //ユーザーが存在しない場合(accs == null || accs.isempty()){cishu = 1; account.setsdkurl( "1"); account.setfsecurityouttime(c.gettime()); //検証コードの有効性時間を設定するBigdecimal accid = AccountService.getPrimaryKey(); account.setfid(accid); re = accountservice.insertsectiont(account、iputil.getrealip(request)); Cookie Cookie = new Cookie( "id"、accid.tostring()); cookie.setmaxage(integer.max_value); Response.AddCookie(Cookie); } else {account ac = accs.get(0); account.setfid(ac.getfid());日付date = new date(); //時間ごとに検証コードの数を決定する//新しい日の場合、使用数を1に変更します。 } else {integer count = integer.parseint(ac.getsdkurl()); account.setsdkurl(count + 1 + ""); //新しい日ではない場合、+1} cishu = integer.parseint(account.getsdkurl()); account.setfsecurityouttime(c.gettime()); if(cishu <= 3)re = accountservice .updatebyprimarykeyselective(account); //情報を送信するために確認コードを保存} if(re> 0 && cishu <= 3){request.getSession()。removeattribute(constvalues.web_session_promote); accountsriteria ac = new Accountcriteria(); ac.createcriteria()。 List <Account> aclist = new ArrayList <Account>(); aclist = countservice.selectbyexample(ac); if(aclist!= null && aclist.size()> 0){//ここで文字列コンテンツを送信してSMSメッセージをここで実行します= "検証コードは次のとおりです。 sendsmsreply sendsmsreply = smsunit.sendsms(accname、accpwd、account.getacmob()、content、 ""); // sms result = sendsmsreply.getReplymsg() + " + aclist.get(0).getFid() +" + aclist.get(0).getsdkurl(); }} else if(cishu> 3){result = "制限アプリケーション"; }}} catch(Exception e){logger.error( "検証コードの取得に失敗した"、e); }最後に{try {respons.setContentType( "text/html; charset = utf-8"); Response.setcharacterencoding( "utf-8"); out = response.getWriter(); out.write(result); } catch(ioException e){logger.error( ""、e); }}} //これは、パワー思考のサードパーティSMSインターフェイスのSMS関数を送信するための参照コードです。複数の携帯電話番号間で区切られた* @paramコンテンツコンテンツ後に署名を追加* @Param Schtime Time Time Format:2010-01-01 08:00:00* @returnサーバーによって返された結果:ビジネスIDまたはエラーコード*/ public Static String Sendsms(String Accname、String Accpwd、String Mobies、String Mobies Content、Strin stringbuffer( "http://sdk.lx198.com/sdk/send2?"); try {string seed = new simpledateFormat(dateFormattr).Format(new date()); sb.append( "&accname ="+accname); sb.append( "&seed ="+seed); sb.append( "&accpwd ="+md5.getmd5string(md5.getmd5string(accpwd)+seed)); sb.append( "&aimcodes ="+mobies); sb.append( "&schtime ="+urlencoder.encode(schtime、 "utf-8")); //スペース句読点Sb.Append( "&content ="+urlencoder.encode(content、 "utf-8"))で変換をエンコードします。 //中国のurlで変換をエンコードurl = new url(sb.toString()); httpurlconnection connection =(httpurlconnection)url.openconnection(); connection.setRequestMethod( "post"); BufferedReader in = new BufferedReader(new inputstreamReader(url.openstream())); return in.readline(); } catch(Exception e){e.printstacktrace(); } nullを返します。 }上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。