Rumah >rangka kerja php >ThinkPHP >Integrasi kod pengesahan SMS ThinkPHP6: merealisasikan fungsi pengesahan telefon mudah alih

Integrasi kod pengesahan SMS ThinkPHP6: merealisasikan fungsi pengesahan telefon mudah alih

WBOY
WBOYasal
2023-08-25 16:55:491544semak imbas

Integrasi kod pengesahan SMS ThinkPHP6: merealisasikan fungsi pengesahan telefon mudah alih

ThinkPHP6 penyepaduan kod pengesahan SMS: merealisasikan fungsi pengesahan telefon bimbit

Kata Pengantar:
Dalam masyarakat moden, telefon bimbit telah menjadi salah satu alat yang amat diperlukan dalam kehidupan manusia. Dalam pembangunan tapak web atau APP, pengesahan nombor telefon mudah alih pengguna juga merupakan keperluan fungsian biasa. Artikel ini akan memperkenalkan cara mengintegrasikan fungsi kod pengesahan SMS dalam rangka kerja ThinkPHP6 untuk merealisasikan fungsi pengesahan telefon mudah alih.

1. Persediaan

  1. Pastikan anda telah memasang rangka kerja ThinkPHP6, atau anda boleh memasangnya melalui komposer
  2. Daftar akaun dengan pembekal perkhidmatan SMS, seperti Alibaba Cloud, Tencent Cloud, Yunpian, dll., dan membeli mesej SMS berkaitan Pakej perkhidmatan

2. Fungsi kod pengesahan SMS bersepadu

  1. Pasang pakej sambungan penghantaran SMS
    Laksanakan arahan berikut dalam direktori akar projek ThinkPHP6 untuk memasang pakej sambungan penghantaran SMS:
    composer memerlukan overtrue/ easy-sms -vvv
  2. Konfigurasikan perkhidmatan SMS
    Dalam direktori konfigurasi di bawah direktori akar projek, buat fail sms.php baharu dan tambah konfigurasi berikut:
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. Buat kelas penghantaran kod pengesahan
    Dalam biasa direktori di bawah direktori aplikasi, buat kelas Sms baharu , digunakan untuk menghantar kod pengesahan:
<?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. Panggil kelas penghantaran kod pengesahan
    Di mana anda perlu menghantar kod pengesahan, hubungi kaedah sendCode kelas Sms untuk menghantar kod pengesahan:
<?php
namespace appindexcontroller;

use appcommonSms;

class User
{
    public function sendSmsCode()
    {
        $phoneNumber = '手机号码';
        Sms::sendCode($phoneNumber);
    }
}
  1. Sahkan kod pengesahan
    dalam anda Di mana kod pengesahan yang dimasukkan oleh pengguna perlu disahkan, ia boleh disahkan dengan cara berikut:
<?php
namespace appindexcontroller;

use thinkacadeCache;

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

3. Ringkasan
Melalui langkah di atas, kami telah berjaya menyepadukan fungsi kod pengesahan SMS dalam rangka kerja ThinkPHP6 dan melaksanakan fungsi pengesahan telefon mudah alih. Apabila pengguna perlu menjalankan pengesahan telefon mudah alih, dia boleh menghantar kod pengesahan supaya pengguna boleh memasukkan kod pengesahan yang betul untuk pengesahan. Ini boleh meningkatkan keselamatan operasi seperti log masuk pengguna, pendaftaran, dan pengubahsuaian maklumat penting.

Akhir sekali, perlu diingatkan bahawa apabila membeli pakej perkhidmatan SMS, pilih mengikut keperluan sebenar anda untuk mengelakkan pembaziran sumber dan kos. Di samping itu, untuk mengelakkan mesej teks berniat jahat daripada dihantar, secara amnya terdapat sekatan tertentu, seperti hanya bilangan mesej teks tertentu boleh dihantar seminit, hanya bilangan mesej teks tertentu boleh dihantar setiap hari, dsb. Dalam penggunaan sebenar, beri perhatian untuk menggunakan fungsi kod pengesahan SMS mengikut peraturan dan konfigurasi pembekal perkhidmatan SMS.

Atas ialah kandungan terperinci Integrasi kod pengesahan SMS ThinkPHP6: merealisasikan fungsi pengesahan telefon mudah alih. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn