Kod pengesahan berdaftar untuk dijual: Bawa anda ke kod pengesahan SMS Alibaba Cloud (panduan praktikal proses penuh)

awan 2026-06-09 阅读 5
cloud

Ketika banyak orang berhubung dengan kod pengesahan SMS untuk pertama kalinya, mereka selalu bergumam di dalam hati mereka: semua jenis kunci, tandatangan, templat, dan SDK terdengar besar.

Sebenarnya, terdapat tiga langkah untuk berjaya menghantar SMS:

Pergi ke latar belakang Alibaba Cloud untuk memohon kelayakan, memanggil antara muka dalam kod, dan menangani anti-berus keselamatan.

Hari ini kita akan menggunakan bahasa yang paling berasas untuk menjelaskan proses ini secara menyeluruh. Sediakan akaun Alibaba Cloud anda, kami mulakan sekarang.

Daftar pembelian kod pengesahan

Tahap pertama: "Set tiga keping hooligan pelepasan kastam" di belakang pentas Alibaba Cloud

Pergi ke pentas Alibaba Cloud adalah seperti pergi ke pejabat untuk mendapatkan persetujuan. Anda harus mengambil tiga perkara berikut untuk mendapatkan kod.

1. Tandatangan (Siapa Anda)

Permulaan SMS

[Nama produk anda]

Ia adalah tandatangan. Untuk mengelakkan penipuan, negara ini sangat ketat dan tidak boleh menulis secara membuta tuli.

Panduan Mengelakkan Lubang: Sekiranya anda belum mendaftarkan syarikat, anda boleh membuat permohonan dengan nama laman web peribadi, APP atau applet WeChat yang sudah anda ada dalam talian. Sekiranya tidak ada apa-apa, kemungkinan besar tidak akan dikaji.

Kemahiran bertutur: Sebab permohonan berbunyi: "Ia digunakan untuk menghantar kod pengesahan ketika pengguna Aplikasi mendaftar dan log masuk. Ia dalam talian dan nama aplikasinya adalah XXX".

2. Templat (apa yang anda hantar)

Daftar pembelian kod pengesahan

Templat adalah kandungan khusus SMS. Templat kod pengesahan sangat mudah, biasanya:

Kod pengesahan ${code}, anda mendaftar sebagai pengguna baru, sah dalam masa 5 minit, jangan sampai kepada orang lain.

$ {Code} di sini adalah pemegang tempat, dan kod anda akan memuat naik nombor 4 atau 6 digit sebenar.

3. AccessKey (Pas anda)

Ini adalah yang paling kritikal. Ia mengandungi

ID AccessKey

Dan

AccessKey Secret

(Dirujuk sebagai AK/SK).

Pemahaman yang popular: Ini adalah akaun dan kata laluan anda di Alibaba Cloud. Anda mesti membawanya ke dalam kod, dan Alibaba Cloud tahu siapa yang harus memotong yuran pesanan ringkas ini.

Amaran keselamatan: Jangan sekali-kali memindahkan AccessKey ke GitHub! Jika tidak, akaun anda mungkin dimaksimumkan oleh penggodam dalam beberapa minit. Sebaiknya tuliskan dalam pemboleh ubah persekitaran global pelayan.

Tahap kedua: Jangan takut, kodnya!

Dengan "Tandatangan, Templat, AccessKey", kita boleh menulis kod. Berikut adalah yang paling biasa

Node.js

Dan

Python

Contohnya (logik bahasa lain sama persis).

Contoh 1: Versi Python

Pertama, pasang SDK rasmi Alibaba Cloud:

Bash

Pip install alibabacloud_dysmsapi20170525 = = 2.0.24

Kemudian, hantar kod terus ke teras:

Python

import os

Dari pelanggan

Dari a

Libabacloud_tea_openapi model import sebagai open_api_models

Dari alibabacloud_dysmsapi20170525 imort models sebagai dysms_api_models

Def send_sms_code(phone_number, code):

#1. Mulakan konfigurasi dan baca kunci pelepasan anda dari pemboleh ubah persekitaran

Config = open_api_models.Config (

Access_key_id = os.environ.get('ALIBABA _ CLOUD_ACCESS_KEY_ID '),

Access_key_secret = os.environ.get('ALIBABA _ CLOUD_ACCESS_KEY_SECRET ')

)

Alamat perkhidmatan tetap SMS # Alibaba Cloud

Config. endpoint = 'dysmsap.aliyuncs.com'

Client = Client(config)

#2. Memasang kandungan SMS anda

Request = dysms_api_models.SendSmsRequest (

Phone_number = phone_number, # nombor telefon bimbit yang menerima SMS

Sign_name = 'tandatangan SMS anda', # Contohnya: [Nota Geek]

Template_code = 'SMS _ 123456789 ', # ID templat yang anda lamar

Template_param = f '{{"code":"{code}"}' # Masukkan kod pengesahan rawak, mestilah rentetan JSON

)

#3. Hantar dan lihat hasilnya

cuba:

Respons = client.send_sms(request)

If response.body.code = = 'OK':

Cetak ("SMS berjaya dihantar! ")

Kembali Benar

Else:

Cetak (f"

Sebab kegagalan penghantaran:{response.body.message}")

Palsu

kecuali Exception sebagai ralat:

Cetak (f "ralat sistem:{error}")

Palsu

Contoh 2: Versi Node.js

Sekiranya anda menggunakan Node.js, masukkan beg ini:

Pembelian kod pengesahan SMS

Bash

Npm install @ alicloud/dysmsapi20170525

Kod teras adalah seperti berikut:

JavaScript

Const {default: Client, SendSsRequest} = require('@ alicloud/dysmsapi20170525');

Const Openapi = require('@ alicloud/openapi-client');

Async function sendSms(phone, code) {

Let config = Openapi baru. Config({

AccessKeyId: proses. env.ALICLOUD_ACCESS_KEY_ID,

AccessKeySecret: proses. env.ALICLOUD_ACCESS_KEY_SECRET,

Endpoint: 'dysmsapi .aliyuncs.com'

});

Let client = baru Client(config);

Let request = SendSsRequest baru ({

PhoneNumbers: phone,

SignName: 'Tandatangan SMS anda',

TemplateCode: 'SMS _ 123456789 ',

TemplateParam: JSON.stringify({ code: code })

});

Cuba {

Let result = pelanggan. sendSs (request);

If (result.body.code === 'OK') {

Cons

Ole. log ('Hantar sukar');

} Else {

Console. log ('Gagal: ', result.body.message);

}

} Catch (err) {

Console. error ('ralat dilaporkan: ', err);

}

}

Tahap ketiga: logik perniagaan lengkap semasa pengguna mendaftar (pemula mesti melihat)

Ramai pemula berpendapat bahawa sudah cukup untuk menyesuaikan antara muka di atas. Sebenarnya, dalam perniagaan sebenar, bahagian belakang anda masih banyak yang perlu dilakukan. Proses "pendaftaran kod pengesahan" standard adalah seperti ini:

[Nombor telefon bimbit pengguna] ───> 1. Periksa format nombor telefon bimbit ──> 2. Periksa frekuensi penghantaran (had 60 saat) ──> 3. Hasilkan nombor rawak 4-> 4. Simpan Redis dan tetapkan 5 minit untuk tamat tempoh ──> 5. Panggil Alibaba Cloud untuk menghantar

Mengapa anda perlu menggunakan Redis (atau cache pangkalan data)?

Kerana

Alibaba Cloud hanya bertanggungjawab untuk membantu anda menghantar mesej teks, ia tidak bertanggungjawab untuk membantu anda mengingat kod pengesahan!

Apabila pengguna menerima pesanan teks, masukkan di telefon

1234

Semasa mengklik Kirim, pelayan anda mesti mengetahui sama ada yang dihantar kepadanya baru sahaja dihantar

1234

Semasa menghantar: Hasilkan nombor rawak 1234, simpan di Redis, Kunci adalah sms:register:138xxxx0000, Nilai adalah 1234, dan tetapkan masa tamat selama 300 saat.

Semasa memeriksa: Pengguna menghantar 1234. Pergi ke bahagian belakang untuk memeriksa nilai sms:register:138xxxx0000 di Redis. Sekiranya ia betul, lulus; jika tidak betul atau tidak dapat dijumpai, kembalikan "Kod pengesahan salah atau kadaluarsa".

Tahap keempat: pertempuran anti-berus (jika anda tidak melihat bahagian ini, anda mungkin kehilangan seluar dalam anda)

Terdapat sekumpulan orang dalam lingkaran penggodam yang disebut "SMS Bomber". Mereka akan menggunakan skrip untuk memanggil antara muka pendaftaran anda dengan panik, yang dapat menghabiskan puluhan ribu pesanan teks dalam satu malam. Agar tidak dimanfaatkan, anda mesti menambah

Tiga firewall

Tahap perlindungan

Kaedah khusus

Mengapa ia berfungsi

Cara pertama: had masa

Nombor telefon bimbit tunggal hanya boleh dihantar sekali dalam 60 saat.

Memintas titik gegaran tangan berterusan di bahagian depan dan belakang.

Laluan kedua: kod pengesahan grafik

Sebelum mengklik "Dapatkan Kod Pengesahan", anda mesti terlebih dahulu meluncur atau memasukkan kod pengesahan gambar.

Kaedah yang paling berkesan. Sekat mesin skrip terus dari pintu.

Jalan ketiga: had jumlah

Dengan nombor telefon bimbit yang sama dan IP yang sama, sehingga 5 mesej dapat dihantar dalam 24 jam.

Walaupun dua barisan pertahanan pertama hilang, mereka dapat menghentikan kerugian dalam masa.

Nota tambahan: Latar belakang Alibaba Cloud dilengkapi dengan fungsi "perlindungan keselamatan sejagat". Ingatlah untuk pergi ke latar belakang untuk menetapkan "had penghantaran satu hari" lebih rendah (seperti 100

0 item). Dengan cara ini, jika kod tersebut ditulis bug atau disikat, ia akan mencair secara automatik apabila mencapai had, sehingga tidak akan merosakkan keluarga anda.

Formula penyahpepijatan dan penyelesaian masalah

Jangan panik apabila anda menjalankan kod dan mendapati ralat dilaporkan. Kod ralat Alibaba Cloud (SubCode) sebenarnya cukup jelas:

Pembelian kod pengesahan SMS

Isv. MOBILE_NUMBER_ILLEGAL: Format nombor telefon salah, periksa sama ada nombor 11 digit ditulis dengan tidak betul atau dicampurkan ke dalam ruang.

Isv. BUSINESS_LIMIT_CONTROL: Kekerapan pencetus adalah terhad. Ini menunjukkan bahawa anda terlalu kerap menguji dan dipintas buat sementara waktu oleh Alibaba Cloud. Tunggu satu minit untuk mencuba lagi.

Isv. SMS_SIGNATURE_ILLEGAL: Tandatangan tidak sah. Periksa sama ada tandatangan dalam kod anda salah dengan tandatangan yang diluluskan oleh latar belakang Alibaba Cloud (satu ruang lagi tidak akan berfungsi).

Pembelian kod pengesahan SMS

1
← 返回新闻中心