久久成年视频_欧美人与性动交a欧美精品_天天干天天天天_一级成人毛片_中国av免费_免费视频久久久

速碼云短信接口嵌入網站:極簡實現教程 2026-03-13 16:48:54 分類:媒體報道
相關標簽:         短信接口         群發短信         106短信平臺         手機短信驗證碼接口         國際短信         網站在線客服系統
注冊速碼云賬號:完成企業認證,獲取 API ID/API KEY(在速碼云控制臺「短信接口」模塊查看); 配置短信模板:在速碼云后臺創建驗證碼模板

速碼云短信接口嵌入網站:極簡實現教程


速碼云(SumCodeCloud)短信接口是常用的第三方短信服務,嵌入網站的核心是通過后端語言調用其 API 接口,實現「前端觸發請求→后端校驗并調用速碼云 API→返回結果」的流程。以下以 PHP(最通用的網站后端語言) 為例,提供極簡可運行的代碼示例,同時補充前端交互邏輯。
一、前置準備
注冊速碼云賬號:完成企業認證,獲取 API ID/API KEY(在速碼云控制臺「短信接口」模塊查看);
配置短信模板:在速碼云后臺創建驗證碼模板(如:您的驗證碼是{code},有效期5分鐘),記錄模板 ID;
服務器環境:確保網站服務器支持 PHP(5.6+),并開啟curl擴展(絕大多數虛擬主機 / 服務器默認支持)。
二、核心實現步驟(前端 + 后端)
1. 前端頁面(觸發驗證碼發送)
創建一個簡單的 HTML 頁面,包含手機號輸入框、發送按鈕、驗證碼輸入框,通過 AJAX 請求后端接口:
html
預覽
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>速碼云短信接口示例</title>
    <script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script>
</head>
<body>
    <div>
        <label>手機號:</label>
        <input type="tel" id="mobile" placeholder="請輸入11位手機號">
        <button id="sendBtn">發送驗證碼</button>
    </div>
    <div style="margin-top: 10px;">
        <label>驗證碼:</label>
        <input type="text" id="code" placeholder="請輸入驗證碼">
        <button id="verifyBtn">驗證</button>
    </div>

    <script>
        // 發送驗證碼按鈕點擊事件
        $('#sendBtn').click(function() {
            const mobile = $('#mobile').val().trim();
            // 簡單手機號校驗
            if (!/^1[3-9]\d{9}$/.test(mobile)) {
                alert('請輸入正確的手機號');
                return;
            }

            // 禁用按鈕,防止重復點擊
            $(this).attr('disabled', true).text('發送中...');

            // AJAX請求后端接口
            $.ajax({
                url: 'send_sms.php', // 后端接口文件路徑
                type: 'POST',
                data: { mobile: mobile },
                dataType: 'json',
                success: function(res) {
                    if (res.code === 200) {
                        alert('驗證碼發送成功!');
                        // 60秒倒計時
                        let count = 60;
                        $('#sendBtn').text(count + '秒后重發');
                        const timer = setInterval(() => {
                            count--;
                            $('#sendBtn').text(count + '秒后重發');
                            if (count <= 0) {
                                clearInterval(timer);
                                $('#sendBtn').attr('disabled', false).text('發送驗證碼');
                            }
                        }, 1000);
                    } else {
                        alert('發送失?。? + res.msg);
                        $('#sendBtn').attr('disabled', false).text('發送驗證碼');
                    }
                },
                error: function() {
                    alert('網絡錯誤,請重試');
                    $('#sendBtn').attr('disabled', false).text('發送驗證碼');
                }
            });
        });

        // 驗證碼驗證按鈕(可選,僅演示)
        $('#verifyBtn').click(function() {
            const mobile = $('#mobile').val().trim();
            const code = $('#code').val().trim();
            $.ajax({
                url: 'verify_sms.php',
                type: 'POST',
                data: { mobile: mobile, code: code },
                dataType: 'json',
                success: function(res) {
                    if (res.code === 200) {
                        alert('驗證成功!');
                    } else {
                        alert('驗證失?。? + res.msg);
                    }
                }
            });
        });
    </script>
</body>
</html>
2. 后端發送驗證碼接口(send_sms.php)
核心邏輯:接收前端手機號 → 調用速碼云短信 API → 存儲驗證碼(用于后續驗證)。
php
運行
<?php
// 1. 速碼云接口配置(替換為你的實際信息)
$apiId = "你的速碼云API ID";       // 控制臺獲取
$apiKey = "你的速碼云API KEY";     // 控制臺獲取
$templateId = "你的短信模板ID";    // 驗證碼模板ID
$signName = "你的短信簽名";        // 速碼云審核通過的簽名

// 2. 接收并校驗前端參數
$mobile = $_POST['mobile'] ?? '';
if (!preg_match('/^1[3-9]\d{9}$/', $mobile)) {
    exit(json_encode(['code' => 400, 'msg' => '手機號格式錯誤']));
}

// 3. 生成6位驗證碼
$code = rand(100000, 999999);

// 4. 調用速碼云短信API(核心步驟)
$url = "https://api.sumcodecloud.com/sms/send"; // 速碼云官方接口地址(以實際為準)
$postData = [
    'apiId' => $apiId,
    'apiKey' => $apiKey,
    'mobile' => $mobile,
    'templateId' => $templateId,
    'params' => json_encode(['code' => $code]), // 模板參數,需和模板匹配
    'signName' => $signName
];

// 使用curl發送POST請求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 調試時關閉SSL驗證,生產環境開啟
$response = curl_exec($ch);
curl_close($ch);

// 5. 解析接口返回結果
$res = json_decode($response, true);
if (!$res) {
    exit(json_encode(['code' => 500, 'msg' => '接口請求失敗']));
}

// 6. 速碼云返回成功則存儲驗證碼(這里用session,生產環境建議用Redis/數據庫)
session_start();
if ($res['code'] === 0) { // 速碼云成功碼以官方文檔為準
    $_SESSION['sms_code_' . $mobile] = [
        'code' => $code,
        'expire' => time() + 300 // 5分鐘有效期
    ];
    exit(json_encode(['code' => 200, 'msg' => '發送成功']));
} else {
    exit(json_encode(['code' => 400, 'msg' => '發送失敗:' . $res['msg']]));
}
?>
3. 后端驗證碼驗證接口(verify_sms.php)
用于驗證用戶輸入的驗證碼是否正確:
php
運行
<?php
session_start();

// 1. 接收參數
$mobile = $_POST['mobile'] ?? '';
$code = $_POST['code'] ?? '';

// 2. 校驗參數
if (empty($mobile) || empty($code)) {
    exit(json_encode(['code' => 400, 'msg' => '參數缺失']));
}

// 3. 獲取存儲的驗證碼
$stored = $_SESSION['sms_code_' . $mobile] ?? [];
if (empty($stored)) {
    exit(json_encode(['code' => 400, 'msg' => '驗證碼不存在或已過期']));
}

// 4. 校驗驗證碼和有效期
if ($stored['code'] != $code) {
    exit(json_encode(['code' => 400, 'msg' => '驗證碼錯誤']));
}
if ($stored['expire'] < time()) {
    unset($_SESSION['sms_code_' . $mobile]); // 過期刪除
    exit(json_encode(['code' => 400, 'msg' => '驗證碼已過期']));
}

// 5. 驗證成功,清除驗證碼(防止重復使用)
unset($_SESSION['sms_code_' . $mobile]);
exit(json_encode(['code' => 200, 'msg' => '驗證成功']));
?>
三、關鍵注意事項
接口地址確認:速碼云的正式接口地址請以官方文檔為準,上述https://api.sumcodecloud.com/sms/send為示例;
參數格式:params參數需為 JSON 字符串,且字段名要和短信模板中的變量(如{code})完全一致;
安全防護:
生產環境需增加頻率限制(如單個手機號 1 分鐘內最多發送 1 次),防止盜刷;
建議將apiId/apiKey存儲在服務器配置文件中,不要直接寫在業務代碼里;
開啟 curl 的 SSL 驗證(刪除CURLOPT_SSL_VERIFYPEER, false),避免數據泄露;
存儲優化:示例中用session存儲驗證碼,生產環境建議用 Redis(支持過期時間,性能更高)。
四、測試步驟
將上述 3 個文件上傳到你的 PHP 服務器;
替換send_sms.php中的apiId/apiKey/templateId/signName為實際值;
訪問 HTML 頁面,輸入手機號點擊「發送驗證碼」,查看手機是否收到短信;
輸入驗證碼點擊「驗證」,測試驗證邏輯。
總結
速碼云短信接口嵌入核心是「前端觸發請求→后端調用 API→存儲驗證碼→驗證驗證碼」,核心依賴 curl 調用第三方 API;
關鍵配置項(API ID/KEY、模板 ID、簽名)必須與速碼云控制臺一致,否則接口調用失?。?BR>生產環境需補充頻率限制、SSL 驗證、安全存儲等防護措施,避免接口被惡意利用。

主站蜘蛛池模板: xxxx国产精品 | 国产专区在线播放 | 国产高清av | 性色av一区二区三区 | 天天操天天干天天干 | 欧美一二| 欧美黄色录像视频 | 一级大片免费看 | 在线免费观看国产精品 | 久久免费在线观看 | 国产成人精品一区二区三区视频 | 自拍在线| 久久久伊人网 | 久久神马影院 | 欧美精品久久久 | 久久综合视频网 | 欧美中文字幕第一页 | 中文字幕一区在线观看 | 中文字幕av一区二区三区谷原希美 | 久草99| 日韩av中文字幕在线播放 | 91精品啪 | 国产一区在线视频 | 免费色网 | 久久免费在线观看视频 | 国产成人精品网站 | 亚洲免费在线视频 | 精品久久久久久久久久久久久 | 国产色诱视频 | 中文字幕一级 | 国产午夜精品久久久久久久久 | 日韩欧美国产高清 | 欧美黑人一区二区三区 | 激情自拍偷拍 | 中文天堂在线播放 | 国内久久久久 | 欧美嫩草 | 美梦视频大全在线观看高清 | 日韩在线视频播放 | 日韩欧美在线精品 | 在线观看免费黄色网址 | 在線客服系統