Rumah pembangunan bahagian belakang tutorial php Kawalan kekerapan penghantaran SMS dan reka bentuk mekanisme pemberitahuan pengguna dalam kes sebenar dok PHP dan antara muka SMS Awan Alibaba

Kawalan kekerapan penghantaran SMS dan reka bentuk mekanisme pemberitahuan pengguna dalam kes sebenar dok PHP dan antara muka SMS Awan Alibaba

Jul 08, 2023 pm 08:42 PM
php Antara muka SMS Awan Alibaba kawalan frekuensi

SMS menghantar kawalan kekerapan dan reka bentuk mekanisme pemberitahuan pengguna dalam kes sebenar dok PHP dan antara muka SMS Cloud Alibaba

Pengenalan:
Dengan perkembangan pesat Internet, pemberitahuan SMS telah menjadi bahagian yang sangat diperlukan dalam kebanyakan senario aplikasi. Sebagai salah satu penyelesaian SMS terkemuka dalam industri, Perkhidmatan SMS Awan Alibaba digemari oleh pembangun kerana fungsinya yang berkuasa dan prestasi yang stabil. Artikel ini akan menggabungkan kes sebenar untuk memperkenalkan cara menggunakan bahasa PHP dan antara muka SMS Awan Alibaba untuk menyambung, dan membincangkan cara mengawal kekerapan penghantaran SMS dan mereka bentuk mekanisme pemberitahuan pengguna yang munasabah dalam aplikasi praktikal.

1. Saling sambungan antara PHP dan antara muka SMS Cloud Alibaba

  1. Kerja penyediaan
    Sebelum memulakan sambungan, kami perlu mendaftar akaun Alibaba Cloud, membeli perkhidmatan SMS dan mendapatkan ID AccessKey dan Rahsia AccessKey. Kemudian buat tandatangan SMS dan templat SMS dalam konsol SMS Awan Alibaba, dan dapatkan tandatangan SMS dan ID templat.
  2. Pasang SDK
    Pasang Alibaba Cloud SMS SDK melalui Komposer:

    composer require aliyuncs/oss-sdk-php
    Salin selepas log masuk

    Jika anda belum memasang Composer, anda boleh memasangnya melalui arahan berikut:

    curl -sS https://getcomposer.org/installer | php
    Salin selepas log masuk
  3. Hantar SMS
    Contoh kod berikut ialah menghantar SMS:

    <?php
    // 引入SDK
    require_once 'aliyun-php-sdk-core/Config.php';
    use AliyunCoreConfig;
    use AliyunCoreProfileDefaultProfile;
    use AliyunCoreDefaultAcsClient;
    use AliyunApiSmsRequestV20170525SendSmsRequest;
    use AliyunApiSmsRequestV20170525QuerySendDetailsRequest;
    
    // 配置SDK
    $config = new Config();
    // 必填,设置你的AccessKeyId
    $config->accessKeyId = "yourAccessKeyId";
    // 必填,设置你的AccessKeySecret
    $config->accessKeySecret = "yourAccessKeySecret";
    // 必填,设置短信签名
    $config->SignName = "yourSignName";
    // 必填,设置短信模板ID
    $config->TemplateCode = "yourTemplateCode";
    
    // 发送短信
    function sendSms($phoneNumbers, $templateParam) {
     // 设置区域,如华北1、华东2等
     $config->regionId = "cn-hangzhou";
     // 增加产品名称和域名的映射关系
     $config->product = "Dysmsapi";
     $config->domain = "dysmsapi.aliyuncs.com";
    
     $profile = DefaultProfile::getProfile($config->regionId, $config->accessKeyId, $config->accessKeySecret);
     DefaultProfile::addEndpoint($config->regionId, $config->regionId, $config->product, $config->domain);
     $acsClient = new DefaultAcsClient($profile);
    
     $request = new SendSmsRequest;
     $request->setPhoneNumbers($phoneNumbers);
     $request->setSignName($config->SignName);
     $request->setTemplateCode($config->TemplateCode);
     $request->setTemplateParam(json_encode($templateParam));
    
     return $acsClient->getAcsResponse($request);
    }
    
    // 示例用法
    $phoneNumbers = "手机号码";
    $templateParam = array("code" => "123456");
    $result = sendSms($phoneNumbers, $templateParam);
    if ($result->Code == "OK") {
     echo "短信发送成功";
    } else {
     echo "短信发送失败:" . $result->Message;
    }
    
    ?>
    Salin selepas log masuk

2. Kawalan kekerapan penghantaran SMS

Dalam aplikasi praktikal, untuk mengelakkan penyalahgunaan sumber SMS dan melindungi privasi pengguna, kita perlu mengawal kekerapan penghantaran SMS. Berikut ialah contoh mudah menggunakan Redis untuk kawalan frekuensi:

// 初始化Redis连接
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);

// 每个手机号码发送频率限制为1分钟1条
$phoneNumbers = "手机号码";
$key = "sms_rate_limit_" . $phoneNumbers;
$currentCount = $redis->incr($key);
if ($currentCount == 1) {
    // 第一次发送短信,设置过期时间为1分钟
    $redis->expire($key, 60);
} elseif ($currentCount > 1) {
    // 已经发送过短信,返回错误提示
    echo "发送短信过于频繁,请稍后再试";
}

// 发送短信逻辑
// ...
Salin selepas log masuk

Dengan kod di atas, kami boleh mengehadkan nombor mudah alih yang sama untuk hanya menghantar 1 mesej teks dalam 1 minit. Apabila pengguna menghantar berbilang mesej teks, mereka boleh mengembalikan gesaan ralat atau melarang penghantaran sementara mengikut keperluan sebenar.

3. Reka bentuk mekanisme pemberitahuan pengguna

Dalam aplikasi praktikal, pemberitahuan pengguna bukan sahaja menghantar mesej teks yang mudah, tetapi juga perlu mempertimbangkan senario yang lebih kompleks. Berikut adalah contoh penggunaan antara muka Alibaba Cloud SMS untuk memberitahu pengguna tentang pendaftaran yang berjaya:

// 用户注册成功逻辑
function userRegister($phoneNumbers) {
    // 注册逻辑
    // ...

    // 发送注册成功通知短信
    $templateParam = array("username" => "用户名称");
    $result = sendSms($phoneNumbers, $templateParam);
    if ($result->Code == "OK") {
        echo "注册成功,请查收短信通知";
    } else {
        echo "注册成功,短信通知发送失败:" . $result->Message;
    }
}
Salin selepas log masuk

Dengan menghubungi antara muka Alibaba Cloud SMS, selepas pengguna berjaya mendaftar, mesej SMS yang mengandungi nama pengguna boleh dihantar ke pengguna untuk memberitahu pengguna pendaftaran yang berjaya. Mekanisme pemberitahuan pengguna ini boleh meningkatkan pengalaman pengguna dan meningkatkan kelekatan pengguna.

Ringkasan:
Artikel ini memperkenalkan cara menggunakan bahasa PHP dan antara muka SMS Cloud Alibaba untuk menyambung melalui kes sebenar, dan membincangkan cara mengawal kekerapan penghantaran SMS dan mereka bentuk mekanisme pemberitahuan pengguna yang munasabah dalam aplikasi praktikal. Dengan mengawal kekerapan penghantaran mesej teks, anda boleh mengelakkan penyalahgunaan sumber mesej teks dan melindungi privasi pengguna. Mekanisme pemberitahuan pengguna boleh meningkatkan pengalaman pengguna dan meningkatkan kelekatan pengguna. Saya harap artikel ini dapat membantu anda menyambung ke antara muka SMS Awan Alibaba dalam pembangunan sebenar.

Atas ialah kandungan terperinci Kawalan kekerapan penghantaran SMS dan reka bentuk mekanisme pemberitahuan pengguna dalam kes sebenar dok PHP dan antara muka SMS Awan Alibaba. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

CakePHP Bekerja dengan Pangkalan Data CakePHP Bekerja dengan Pangkalan Data Sep 10, 2024 pm 05:25 PM

Bekerja dengan pangkalan data dalam CakePHP adalah sangat mudah. Kami akan memahami operasi CRUD (Buat, Baca, Kemas Kini, Padam) dalam bab ini.

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

See all articles