スマートフォンの人気により、ますます多くのWebサイトやアプリケーションが携帯電話の検証を使用して、ユーザーエクスペリエンスとアカウントのセキュリティを向上させます。この記事では、PHP実装方法と携帯電話検証ログインのためのいくつかの一般的な手法を詳細に紹介し、対応するコードの例を提供します。
まず、携帯電話番号やパスワードなどのフィールドを含むユーザーアカウント情報を保存するユーザーテーブルを設計する必要があります。ユーザーがログインすると、携帯電話番号とパスワードを入力し、その正確性をバックグラウンドで確認する必要があります。
簡単な例コードは次のとおりです。
<?php // ユーザーが入力した携帯電話番号とパスワードを取得します $phone = $_POST['phone']; $password = $_POST['password']; // 携帯電話番号に一致するユーザーテーブルのクエリレコード $query = "SELECT * FROM user WHERE phone = '$phone'"; $result = mysqli_query($conn, $query); // 一致するレコードがあるかどうかを判断します if (mysqli_num_rows($result) > 0){ $ row = mysqli_fetch_assoc($ result); $ hashed_password = $ row ['password']; //パスワードのただしさを確認するif(password_verify($ password、$ hashed_password)){ //ただ常にログイン$ _Session ['user_id'] = $ row ['id']; $ _Session ['Phone'] = $ row ['Phone']; //ユーザーのホームページヘッダーにリダイレクト( 'location:home.php'); 出口(); } それ以外 { //パスワードはエラーったエコー「無効なパスワード」です。 } } それ以外 { //携帯電話番号は存在するしません。「電話番号が見つかりません」; } ?>
パスワード検証に加えて、SMS検証コードを使用してユーザーの携帯電話番号を確認することもできます。ユーザーが携帯電話番号を入力すると、システムは確認コードを携帯電話に送信します。ユーザーは、ログインを完了するために正しい検証コードを入力する必要があります。
以下は関連コードの例です。
<?php // ユーザーが入力した携帯電話番号と確認コードを取得します $phone = $_POST['phone']; $code = $_POST['code']; // ユーザーが入力した検証コードが送信された検証コードと一致しているかどうかを判断します if ($code == $_SESSION['code']) { // 検証は成功しました $query = "SELECT * FROM user WHERE phone = '$phone'"; $result = mysqli_query($conn, $query); // 一致するレコードがあるかどうかを判断します if (mysqli_num_rows($result) > 0){ $ row = mysqli_fetch_assoc($ result); //ただ常にログイン$ _Session ['user_id'] = $ row ['id']; $ _Session ['Phone'] = $ row ['Phone']; //ユーザーのホームページヘッダーにリダイレクト( 'location:home.php'); 出口(); } それ以外 { //携帯電話番号は存在するしません。「電話番号が見つかりません」; } } それ以外 { //検証コードはエラーったエコー「無効な検証コード」です。 } ?>
この記事では、一般的に使用される2つの携帯電話の検証とログイン方法を紹介します。携帯電話番号とパスワード検証ログインとSMS検証コード検証ログインです。これらの方法により、ユーザーのログインエクスペリエンスとアカウントセキュリティを効果的に改善できます。実際の開発では、より柔軟で安全な検証対策を、他の技術的手段(IP制限、デバイスの指紋など)と組み合わせて実行できます。この記事があなたを助け、開発効率を向上させることを願っています。