Heim  >  Artikel  >  PHP-Framework  >  ThinkPHP6 SMS-Bestätigungscode-Integration: Realisierung der Mobiltelefon-Bestätigungsfunktion

ThinkPHP6 SMS-Bestätigungscode-Integration: Realisierung der Mobiltelefon-Bestätigungsfunktion

WBOY
WBOYOriginal
2023-08-25 16:55:491422Durchsuche

ThinkPHP6 SMS-Bestätigungscode-Integration: Realisierung der Mobiltelefon-Bestätigungsfunktion

ThinkPHP6 SMS-Bestätigungscode-Integration: Verwirklichung der Mobiltelefon-Bestätigungsfunktion

Vorwort:
In der modernen Gesellschaft sind Mobiltelefone zu einem unverzichtbaren Werkzeug im Leben der Menschen geworden. Bei der Website- oder APP-Entwicklung ist die Überprüfung der Mobiltelefonnummern der Benutzer ebenfalls eine häufige Funktionsanforderung. In diesem Artikel wird erläutert, wie die SMS-Verifizierungscodefunktion in das ThinkPHP6-Framework integriert wird, um die Mobiltelefonverifizierungsfunktion zu realisieren.

1. Vorbereitung

  1. Stellen Sie sicher, dass Sie das ThinkPHP6-Framework installiert haben, oder installieren Sie es über Composer
  2. Registrieren Sie ein Konto bei einem SMS-Dienstanbieter wie Alibaba Cloud, Tencent Cloud, Yunpian usw. und kaufen Sie es verwandte SMS-Nachrichten Servicepaket

2. Integrierte SMS-Bestätigungscodefunktion

  1. Installieren Sie das SMS-Versanderweiterungspaket
    Führen Sie den folgenden Befehl im Stammverzeichnis des ThinkPHP6-Projekts aus, um das SMS-Versanderweiterungspaket zu installieren:
    composer require overtrue/ easy-sms -vvv
  2. Konfigurieren Sie den SMS-Dienst
    Erstellen Sie im Konfigurationsverzeichnis unter dem Projektstammverzeichnis eine neue sms.php-Datei und fügen Sie die folgende Konfiguration hinzu:
return [
    'default' => [
        'gateways' => [
            'aliyun',  // 阿里云短信服务
        ],
    ],
    'gateways' => [
        'aliyun' => [
            'access_key_id' => 'your-access_key_id',  // 你的阿里云access_key_id
            'access_key_secret' => 'your-access_key_secret',  // 你的阿里云access_key_secret
            'sign_name' => 'your-sign_name',  // 你的短信签名名称
        ],
    ],
];
  1. Erstellen Sie eine Klasse zum Senden von Bestätigungscodes
    Im Allgemeinen Erstellen Sie im Verzeichnis unter dem App-Verzeichnis eine neue SMS-Klasse, die zum Senden von Bestätigungscodes verwendet wird:
<?php
namespace appcommon;

use thinkacadeCache;
use thinkacadeConfig;

class Sms
{
    // 发送验证码
    public static function sendCode($phoneNumber)
    {
        // 生成随机验证码
        $code = mt_rand(100000, 999999);
        
        // 发送短信
        $result = EasySmsFacadesEasySms::send($phoneNumber, [
            'template' => 'your-template-id',  // 你在短信服务提供商处创建的短信模板ID
            'data' => [
                'code' => $code,
            ],
        ]);
        
        // 验证码存入缓存,有效时间为5分钟
        Cache::set('sms_code:' . $phoneNumber, $code, 300);
        
        return $result;
    }
}
  1. Rufen Sie die Klasse zum Senden des Bestätigungscodes auf.
    Wo Sie den Bestätigungscode senden müssen, rufen Sie die sendCode-Methode der SMS-Klasse auf, um den zu senden Bestätigungscode:
<?php
namespace appindexcontroller;

use appcommonSms;

class User
{
    public function sendSmsCode()
    {
        $phoneNumber = '手机号码';
        Sms::sendCode($phoneNumber);
    }
}
  1. Überprüfen Sie den Bestätigungscode
    in Ihnen. Wo der vom Benutzer eingegebene Bestätigungscode überprüft werden muss, kann er auf folgende Weise überprüft werden:
<?php
namespace appindexcontroller;

use thinkacadeCache;

class User
{
    public function checkCode()
    {
        $phoneNumber = '手机号码';
        $code = '用户输入的验证码';
        
        // 从缓存中获取正确的验证码
        $correctCode = Cache::get('sms_code:' . $phoneNumber);
        
        // 验证用户输入的验证码是否正确
        if ($code == $correctCode) {
            // 验证通过
            // 进行相关操作
        } else {
            // 验证失败
            // 提示用户验证码错误
        }
    }
}

3. Zusammenfassung
Durch die oben genannten Schritte, Wir haben die SMS-Verifizierungscode-Funktion erfolgreich in das ThinkPHP6-Framework integriert und die Mobiltelefon-Verifizierungsfunktion implementiert. Wenn der Benutzer eine Mobiltelefonverifizierung durchführen muss, kann er oder sie einen Verifizierungscode senden, damit der Benutzer den richtigen Verifizierungscode zur Verifizierung eingeben kann. Dies kann die Sicherheit von Vorgängen wie Benutzeranmeldung, Registrierung und Änderung wichtiger Informationen erhöhen.

Abschließend ist zu beachten, dass Sie beim Kauf von SMS-Dienstpaketen entsprechend Ihrem tatsächlichen Bedarf auswählen sollten, um Ressourcen- und Kostenverschwendung zu vermeiden. Um das Versenden schädlicher Textnachrichten zu verhindern, gibt es darüber hinaus grundsätzlich bestimmte Einschränkungen, z. B. dass nur eine bestimmte Anzahl von Textnachrichten pro Minute gesendet werden kann, dass nur eine bestimmte Anzahl von Textnachrichten pro Tag gesendet werden kann usw. Achten Sie bei der tatsächlichen Verwendung darauf, die SMS-Bestätigungscode-Funktion gemäß den Vorschriften und der Konfiguration des SMS-Dienstanbieters zu verwenden.

Das obige ist der detaillierte Inhalt vonThinkPHP6 SMS-Bestätigungscode-Integration: Realisierung der Mobiltelefon-Bestätigungsfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn