ホームページ  >  記事  >  バックエンド開発  >  PHPでSMS認証コードの予約送信機能を実装

PHPでSMS認証コードの予約送信機能を実装

王林
王林オリジナル
2023-09-13 08:24:15880ブラウズ

PHPでSMS認証コードの予約送信機能を実装

PHP は、SMS 検証コードのスケジュール送信機能を実装します。これには、特定のコード例が必要です。

インターネットの発展に伴い、SMS 検証は一般的に使用されるセキュリティ方法になりました。さまざまな用途に使用されています。ユーザー登録や重要なユーザー操作が必要な場合、SMS 認証コードを使用することで、悪意のある登録やアカウントの盗難を効果的に防止できます。ユーザーエクスペリエンスを向上させるために、SMS認証コードのスケジュール送信機能を実装し、ユーザーが一定期間内に認証コードを受信できるようにすることで、ユーザーの満足度を向上させることができます。

この記事では、PHP 言語を使用してこの関数を実装する方法を示します。 SMS メッセージを送信するためのインターフェイスがすでに存在していることを前提としています。SMS メッセージを送信するには、このインターフェイスを統合するだけで済みます。では、具体的な実装手順を見ていきましょう。

ステップ 1: 送信時刻を設定する
まず、SMS 確認コードの送信時刻を設定する必要があります。 SMS 認証コードの送信時間を、ユーザーが [認証コードを取得] ボタンをクリックしてから 1 分後に送信されるように設定できます。この機能を実現するには、PHP で時間関数 date()strtotime() を使用します。コード例は次のとおりです。

//设定短信发送时间为1分钟后
$sendTime = date('Y-m-d H:i:s', strtotime('+1 minute'));

ステップ 2: 検証コードの生成
検証コードの生成は、SMS 機能の重要なステップです。 PHP の乱数関数 rand() または mt_rand() を使用して、6 桁の確認コードを生成できます。コード例は次のとおりです。

//生成6位数的验证码
$code = rand(100000, 999999);

ステップ 3: 検証コードと送信時刻を保存する
次に、ユーザーが簡単に実行できるように、生成された検証コードと送信時刻をデータベースまたはキャッシュに保存する必要があります。 1 分以内に合格する 確認するための確認コード。 verification_code という名前のデータ テーブルがあり、これには codesend_time という 2 つのフィールドがあると仮定します。SQL ステートメントを使用して検証コードと送信時間を保存できます。 . をデータテーブルに追加します。コード例は次のとおりです。

//将验证码和发送时间保存到数据库
$sql = "INSERT INTO verification_code (code, send_time) VALUES ('$code', '$sendTime')";
mysqli_query($connection, $sql);

ステップ 4: SMS の送信をトリガーする
確認コードと送信時刻が保存されたら、SMS の送信機能をトリガーする必要があります。これを実現するには、SMS 送信 API インターフェイスを呼び出します。コード例は次のとおりです。

//调用短信发送API接口
$response = sms_send($mobile, $code);

ここの sms_send() 関数は、シミュレートされた SMS 送信関数であり、実際の状況に応じて、対応する SMS 送信 API インターフェイスに置き換える必要があります。 。

ステップ 5: ユーザー検証
ユーザーは SMS 検証コードを受信したら、1 分以内に検証コードを検証する必要があります。ユーザーが入力した認証コードを送信時刻と照合して、認証コードが有効期間内であることを確認する必要があります。コード例は次のとおりです。

//用户输入的验证码
$userCode = $_POST['code'];

//根据用户输入的验证码和发送时间从数据库中查询验证码
$sql = "SELECT code, send_time FROM verification_code WHERE code = '$userCode' AND send_time >= NOW() - INTERVAL 1 MINUTE";
$result = mysqli_query($connection, $sql);
if (mysqli_num_rows($result) > 0) {
    //验证成功
    echo "验证码验证通过";
} else {
    //验证失败
    echo "验证码已过期或不正确";
}

上記の手順により、SMS 認証コードの予約送信機能が正常に実装され、ユーザーは 1 分以内に認証コードによる認証を行うことができます。

概要:
この記事では、PHP 言語を使用して SMS 確認コードの予約送信機能を実装する方法を説明します。送信時刻の設定、検証コードの生成、検証コードと送信時刻の保存、SMS 送信とユーザー認証のトリガーにより、SMS 検証コードのスケジュール送信機能を実装することに成功しました。この記事がこの機能を理解し、使いこなすのに役立つことを願っています。

以上がPHPでSMS認証コードの予約送信機能を実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。