モバイル インターネットと携帯電話の普及に伴い、SMS 検証コードはセキュリティ検証の重要な手段となっています。 Web サイトの登録、ログイン、パスワードの取得などの操作中に、ユーザーは多くの場合、操作を完了するために受信した SMS 認証コードを入力する必要があります。今回は、PHP を使用して SMS プラットフォームを通じて SMS 認証コード機能を実装する方法を詳しく紹介します。
1. SMS プラットフォームの選択
PHP SMS 確認コード機能を有効にする前に、まず SMS プラットフォームを選択する必要があります。市場には、YimeiSoftStone、Ronglian Cloud Communications、Yunpian.com など、選択できる SMS プラットフォームが多数あります。
SMS プラットフォームの安定性は非常に重要であり、SMS の送信に失敗するなどの問題が発生した場合は、プラットフォームを選択する必要があります。メッセージや遅延が頻繁に発生し、ユーザーに非常に悪いエクスペリエンスをもたらし、ユーザー エクスペリエンスに影響を与えることもあります。
さまざまな SMS プラットフォームの価格は大きく異なるため、独自のニーズと予算に応じて選択する必要があります。一般に、独自の独立した SMS 送信チャネルを持つプラットフォームは高価ですが、安定性と送信成功率はより高いことがよくあります。
SMS プラットフォームによってサポートされる機能は異なります。一部のプラットフォームでは、SMS 確認コードやマーケティング SMS を簡単に実装できる強力な API インターフェイスを提供できます。、音声確認コードなどの機能がある場合、一部のプラットフォームでは単純な SMS 送信インターフェイスのみを提供します。
テキスト メッセージング プラットフォームを選択する場合は、実際の状況に基づいて上記の要素を考慮し、自分に合ったプラットフォームを選択する必要があります。
2. アカウントを登録して API キーを取得する
SMS プラットフォームを選択した後、プラットフォームにアカウントを登録し、API キーを取得する必要があります。 PHP コードのプラットフォーム、インターフェイス。
アカウントを登録するプロセスでは、会社名、証明書などの関連する会社情報を提供する必要があります。次に、SMS 認証コードを確認するか、他の方法を使用して ID 認証を行って、アカウントの登録を完了する必要があります。
アカウント登録が完了したら、プラットフォーム上で対応するアプリケーションを作成する必要があります。アプリケーションの作成プロセスでは、通常、アプリケーション名、アプリケーションの説明、SMS 署名などの情報を入力する必要があります。バックグラウンドでAPIキーを取得するには申請する必要があります。
3. バックグラウンドで SMS 送信インターフェイスを呼び出す
API キーを取得した後、バックグラウンドで PHP コードを記述し、SMS プラットフォームが提供するインターフェイスを呼び出して SMS 検証を実装できます。コード送信機能。 Yunpian.com を例として、具体的な実装方法を次に示します。
PHP は、HTTP リクエストを送信するために CURL ライブラリを使用する必要があります。インストールされていない場合は、まずインストールする必要があります。
SMS 検証コードを送信する関数を作成し、それをクラスにカプセル化して、プログラム内での再利用を容易にします。以下はサンプル コードです。 コード内の
<?php class SmsHelper{ private static $apiUrl = 'https://sms.yunpian.com/v2/sms/single_send.json'; //短信发送接口地址 private static $apiKey = 'xxxx'; //API 密钥,需要替换成自己的 /** * 发送短信验证码 * @param $mobile 手机号码 * @param $code 验证码 * @return bool */ public static function sendVerifyCode($mobile, $code){ $postData = [ 'apikey' => self::$apiKey, 'mobile' => $mobile, 'text' => '【签名】您的验证码是'.$code.'。' ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, self::$apiUrl); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept:text/plain;charset=utf-8', 'Content-Type:application/x-www-form-urlencoded', 'charset=utf-8')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&')); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //不校验 SSL 证书 $result = curl_exec($ch); $error = curl_error($ch); curl_close($ch); if($result === false || !empty($error)) return false; $json = @json_decode($result, true); if(!is_array($json)) return false; return !empty($json['code']) && $json['code'] == 0; } }
$apiUrl と $apiKey は、それぞれ SMS プラットフォームによって提供される SMS 送信インターフェイス アドレスと API キーであり、SMS プラットフォームによって提供される値に置き換える必要があります。あなた自身のプラットフォーム。 SMS 認証コードを送信する関数では、携帯電話番号と認証コードの 2 つのパラメーターを渡す必要があります。成功した場合は true を返し、失敗した場合は false を返します。
4. フロントエンド ページに確認コード関数を実装する
バックグラウンドで SMS プラットフォームの API を呼び出して SMS 確認コードを送信した後、バックグラウンドも呼び出す必要があります。フロントエンド ページのインターフェイスにアクセスして、検証コードの送信と検証を完了します。
認証コードを送信する方法は、通常、ページ上で携帯電話番号を送信し、バックグラウンドで上記の SMS 認証コードを送信する関数を呼び出して認証コードを送信します。検証コードの検証はページ上で実装でき、ユーザーが検証コードを入力すると、検証のために AJAX を通じてバックグラウンド インターフェイスが呼び出され、対応するプロンプト情報が表示されます。
検証コードを検証するときは、悪意のあるスワイプの防止とエラーの数の制限に注意する必要があります。これを防ぐには、SMS 認証コードの有効期間、一度に送信する認証コードの最大数、および IP アクセス制限を設定します。
5. 概要
この記事の導入部を通じて、PHP を使用して SMS プラットフォームを通じて SMS 確認コード機能を実装する方法を詳しく学びました。もちろん、これは実装方法の 1 つにすぎず、SMS SDK を使用する、SMS ゲートウェイを呼び出すなど、他のオプションから選択することもできます。実際のプロジェクトでは、実際のニーズと予算を総合的に考慮して、適切なソリューションを選択する必要があります。
以上がSMS プラットフォームを介して SMS 認証コード機能を実装する PHP メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。