現在の位置: ホーム> 最新記事一覧> ユーザー登録セキュリティを改善するためにPHPに携帯電話検証コード機能を実装する方法

ユーザー登録セキュリティを改善するためにPHPに携帯電話検証コード機能を実装する方法

M66 2025-06-20

ユーザー登録セキュリティを改善するためにPHPに携帯電話検証コード機能を追加する方法

インターネットの急速な発展により、ますます多くのユーザーがオンラインで登録するために携帯電話番号に依存しています。ユーザー登録のセキュリティを改善するために、携帯電話検証コードは悪意のある登録を防ぐための効果的な手段になりました。この記事では、ユーザー登録プロセスのセキュリティを確保するために、PHPに携帯電話検証コード機能を実装する方法を紹介します。

1.検証コードをユーザーの携帯電話に送信します

携帯電話検証コード関数を実装する最初のステップは、検証コードをユーザーの携帯電話に送信することです。これを達成するには、サードパーティのSMSインターフェイスが必要です。以下は、Alibaba Cloud SMSサービスを使用して検証コードを送信するためのサンプルコードです。

<?php
// Alibaba Cloud SMSサービスインターフェイスアドレス
$url = 'https://dysmsapi.aliyuncs.com/';

// 構成パラメーター
$params = array(
    'AccessKeyId' => &#39;your_access_key_id&#39;、
    &#39;AccessKeySecret&#39; => &#39;your_access_key_secret&#39;、
    &#39;PhoneNumbers&#39; => &#39;ユーザー携帯番号&#39;、
    &#39;signname&#39; => &#39;sms signature&#39;、
    &#39;templatecode&#39; => &#39;SMSテンプレートコード&#39;、
    &#39;TemplateParam&#39; => json_encode(array( &#39;code&#39; => &#39;検証コード&#39;))、
);

// SMSリクエストを送信$ ch = curl_init();
curl_setopt($ ch、curlopt_url、$ url);
curl_setopt($ ch、curlopt_returntransfer、true);
curl_setopt($ ch、curlopt_post、true);
curl_setopt($ ch、curlopt_postfields、$ params);
$ result = curl_exec($ ch);
curl_close($ ch);
?>

上記のサンプルコードは、Alibaba Cloud SMSサービスのAccessKeyIDとAccessKeyseCretを入力し、対応する携帯電話番号、SMS署名、SMSテンプレートコードを置き換える必要があることに注意してください。

2.ユーザーが入力した検証コードを確認します

検証コードがユーザーの携帯電話に送信されると、ユーザーは登録ページに確認コードを入力する必要があります。 PHPの検証コードの検証は非常に簡単です。ユーザーが確認コードを入力することを確認するための例コードを次に示します。

<?php
// ユーザーが入力した検証コードを取得します
$userCode = $_POST['code'];

// データベースまたは他の場所から以前に送信された検証コードを取得します
$storedCode = '前に送信された検証コード';

// 入力された検証コードが正しいことを確認します
if ($userCode == $storedCode) {
    // 検証コードは正しいです,登録プロセスを続けます
    // ...
} else {
    // 検証コードエラー,ユーザーに再入力を促します
    // ...
}
?>

上記の例コードでは、 $ _POST ['CODE']はユーザーフォームから取得した入力検証コードを表し、 $ storedCodeは以前に送信された検証コードを表します。これら2つの検証コードの値を比較することにより、登録プロセスを継続するかどうかを決定することができます。

3。検証コードの有効期間とセキュリティ

検証コードのセキュリティを確保するには、検証コードの有効期間を考慮する必要があります。通常、検証コードは一定の期間有効であり、ユーザーは有効期限が切れた後に検証コードを再獲得する必要があります。検証コードの有効期間を制限する方法を示すサンプルコードは次のとおりです。

<?php
// 検証コードの送信時間
$sendTime = $_SESSION['send_time'];

// 検証コードの妥当性期間(ユニット:2番)
$expireTime = 60;

// 検証コードが期限切れかどうかを判断します
if (time() - $sendTime <= $expireTime) {
    // 検証コードは期限切れではありません,登録プロセスを続けます
    // ...
} else {
    // 検証コードが期限切れになりました,ユーザーに検証コードを再ゲットするように求めます
    // ...
}
?>

上記のコードでは、検証コードの現在の時間と伝送時間を比較することにより、検証コードが有効期限が切れたかどうかを判断することができます。これにより、検証コードの有効性とセキュリティが保証されます。

要約します

PHPに携帯電話検証コード機能を実装することにより、ユーザー登録のセキュリティを大幅に改善できます。検証コードを送信し、ユーザー入力を検証する場合、検証コードの有効期間とストレージセキュリティを確保することが重要です。この記事では、開発者の参照と使用に対応するサンプルコードを提供します。この機能により、悪意のある登録と虐待のリスクを効果的に減らし、それによりウェブサイトのセキュリティを確保することができます。