การขายรหัสยืนยันการลงทะเบียน: จับมือคุณเพื่อเข้าถึงรหัสยืนยันทาง SMS ของ Alibaba Cloud (คู่มือการปฏิบัติแบบเต็มกระบวนการ)

เมฆ 2026-06-09 阅读 8
1

หลายคนมักจะพึมพำในใจเมื่อพวกเขาเชื่อมต่อกับรหัสยืนยันทาง SMS เป็นครั้งแรก: คีย์ต่างๆลายเซ็นเทมเพลต SDK ฟังดูใหญ่

ในความเป็นจริงมีสามขั้นตอนในการส่ง SMS ให้สำเร็จ:

ไปที่พื้นหลัง Alibaba Cloud เพื่อสมัครคุณสมบัติเรียกอินเทอร์เฟซในโค้ดและจัดการกับความปลอดภัยและการป้องกันการแปรงฟัน

วันนี้เราจะใช้ภาษาที่มีเหตุผลที่สุดเพื่อชี้แจงกระบวนการนี้อย่างละเอียดเตรียมบัญชีอาลีบาบาคลาวด์ของคุณและเราจะเริ่มต้นในขณะนี้

ลงทะเบียนเพื่อซื้อรหัสยืนยัน

ขั้นตอนแรก: "ชุดสูทสามชิ้นสำหรับการกวาดล้างอันธพาล" ในพื้นหลังของ Alibaba Cloud

การไปที่พื้นหลังของ Alibaba Cloud ก็เหมือนกับการไปที่ห้องบริการเพื่อขออนุมัติคุณต้องใช้สามสิ่งต่อไปนี้เพื่อให้รหัสทำงานได้

1.ลายเซ็น (คุณเป็นใคร)

เริ่มต้นด้วย SMS

[ชื่อผลิตภัณฑ์ของคุณ]

มันคือลายเซ็นรัฐเข้มงวดมากในการป้องกันการฉ้อโกงและไม่สามารถเขียนได้

คำแนะนำในการหลีกเลี่ยงหลุม: หากคุณยังไม่ได้จดทะเบียนบริษัทคุณสามารถใช้ชื่อของเว็บไซต์ส่วนตัวแอปหรือแอพเพล็ต WeChat ที่คุณออนไลน์ได้หากไม่มีอะไรเป็นไปได้ว่าจะไม่ได้รับการตรวจสอบ

ทักษะการพูด: เหตุผลในการสมัครระบุว่า: "ใช้ในการส่งรหัสยืนยันเมื่อผู้ใช้แอปลงทะเบียนและเข้าสู่ระบบออนไลน์ชื่อแอปคือ XXX"

2.เทมเพลต (คุณโพสต์อะไร)

ลงทะเบียนเพื่อซื้อรหัสยืนยัน

เทมเพลตเป็นเนื้อหาเฉพาะของ SMS เทมเพลตรหัสยืนยันนั้นง่ายมากโดยทั่วไป:

รหัสยืนยัน ${code} คุณกำลังลงทะเบียนเป็นผู้ใช้ใหม่ใช้ได้ภายใน5นาทีโปรดอย่าเปิดเผยให้ผู้อื่นทราบ

$ {Code} ที่นี่เป็นตัวยึดและรหัสของคุณจะส่งผ่านตัวเลข4หลักหรือ6หลักจริง

3. AccessKey (ผ่านของคุณ)

นี่คือสิ่งที่สำคัญที่สุดมันมี

AccessKey ID

และ

AccessKey Secret

(เรียกว่า AK/SK)

ความเข้าใจที่เป็นที่นิยม: เป็นบัญชีและรหัสผ่านของคุณใน Alibaba Cloud คุณต้องนำมาในรหัสเพื่อให้ Alibaba Cloud รู้ว่าใครควรหักค่าธรรมเนียม SMS นี้

คำเตือนด้านความปลอดภัย: อย่าส่ง AccessKey ไปที่ GitHub! มิฉะนั้นบัญชีของคุณอาจถูกแฮ็กเกอร์ระเบิดภายในไม่กี่นาทีขอแนะนำให้เขียนในตัวแปรสภาพแวดล้อมส่วนกลางของเซิร์ฟเวอร์

ขั้นตอนที่สอง: ไม่ต้องกลัวไปที่รหัส!

ด้วย "ลายเซ็นเทมเพลต AccessKey" เราสามารถเขียนโค้ดได้นี่คือสิ่งที่พบบ่อยที่สุด

Node.js

และ

งูหลาม

ตัวอย่างเช่น (ตรรกะของภาษาอื่นเหมือนกันทุกประการ)

ตัวอย่างที่1: งูหลามรุ่น

ก่อนอื่นให้ติดตั้ง SDK อย่างเป็นทางการของ Alibaba Cloud:

แบช

Pip install alibabacloud_dysmsapi20170525 = = 2.0.24

จากนั้นส่งรหัสไปที่แกนโดยตรง:

งูหลาม

นำเข้า os

From alibabacloud_dysmsapi20170525.client import Client

From a

Libabacloud_tea_openapi import models as open_api_models

From alibabacloud_dysmsapi20170525 import models as dysms_api_models

Def send_sms_code(phone_number, code):

#1.เริ่มต้นการกำหนดค่าเพื่ออ่านคีย์พิธีการศุลกากรของคุณจากตัวแปรสภาพแวดล้อม

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 ')

)

# ที่อยู่บริการคงที่ของ Alibaba Cloud SMS

Config.endpoint = 'dysmsapi .aliyuncs.com'

Client = Client(config)

#2.ประกอบเนื้อหา SMS ของคุณ

Request = dysms_api_models.SendSmsRequest (

Phone_numbers = phone_number, # รับ SMS จากหมายเลขโทรศัพท์มือถือ

Sign_name = 'ลายเซ็น SMS ของคุณ', # ตัวอย่างเช่น: [Geek Notes]

Template_code = 'SMS _ 123456789 ', # คุณสมัครลงรหัสแม่แบบ

Template_param = f '{{"code":"{code}"}' # ใส่รหัสยืนยันแบบสุ่มต้องเป็นสตริง JSON

)

#3.ส่งและดูผล

ลอง:

Response = client. send_sms(request)

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

พิมพ์ ("ส่ง SMS สำเร็จ! ")

Return True

Else:

พิมพ์ (f"

ส่งไม่สำเร็จสาเหตุ: {response.body.message}

ส่งคืน False

ยกเว้น Exception เป็น error:

print(f"ระบบเกิดข้อผิดพลาด: {error}")

ส่งคืน False

ตัวอย่างที่สอง: เวอร์ชัน Node.js

ถ้าคุณใช้ Node.js, แพคเกจนี้:

การซื้อรหัสยืนยันทาง SMS

แบช

npm install @alicloud/dysmsapi20170525

รหัสหลักมีดังนี้:

จาวาสคริปต์

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

const OpenApi = require('@alicloud/openapi-client');

Async function sendSms(phone, code) {

ให้ config = new OpenApi.Config({

accessKeyId: process.env.ALICLOUD_ACCESS_KEY_ID,

accessKeySecret: process.env.ALICLOUD_ACCESS_KEY_SECRET,

Endpoint: 'dysmsapi .aliyuncs.com'

});

ให้ client = new Client(config);

Let request = new SendSmsRequest({

หมายเลขโทรศัพท์: โทรศัพท์,

ชื่อการลงนาม: 'ลายเซ็นข้อความของคุณ',

templateCode: 'SMS_123456789',

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

});

ลอง {

ให้ผลลัพธ์เท่ากับ await client.sendSms(request);

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

ข้อเสีย

Ole.log ('ส่งสำเร็จ');

} Else {

Console.log ('ล้มเหลว:', result.body.message);

}

} Catch (err) {

Console.error ('ข้อผิดพลาด:', err);

}

}

ขั้นตอนที่สาม: ตรรกะทางธุรกิจที่สมบูรณ์เมื่อผู้ใช้ลงทะเบียน (มือใหม่ต้องดู)

สามเณรหลายคนคิดว่าการปรับอินเทอร์เฟซด้านบนเสร็จแล้วในความเป็นจริงในธุรกิจจริงมีหลายสิ่งที่ต้องทำในแบ็คเอนด์ของคุณขั้นตอน "การลงทะเบียนรหัสยืนยัน" มาตรฐานมีลักษณะดังนี้:

[หมายเลขโทรศัพท์มือถือของผู้ใช้] ──> 1.ตรวจสอบรูปแบบหมายเลขโทรศัพท์มือถือ ──> 2.ตรวจสอบความถี่ในการส่ง (ขีดจำกัด60วินาที) ──> 3.สร้างตัวเลขสุ่ม4หลัก ──> 4.ฝาก Redis และตั้งค่า5นาทีหมดอายุ ──> 5.โทรหา Alibaba Cloud เพื่อส่ง

ทำไมต้องใช้ Redis (หรือแคชฐานข้อมูล)?

เพราะ

Alibaba Cloud มีหน้าที่ช่วยคุณส่งข้อความเท่านั้นแต่ไม่รับผิดชอบในการช่วยคุณจดจำรหัสยืนยัน!

เมื่อผู้ใช้ได้รับข้อความให้พิมพ์บนโทรศัพท์

1234

เมื่อคุณคลิกส่งเซิร์ฟเวอร์ของคุณจะต้องทราบว่าตอนนี้ส่งให้เขาหรือไม่

1234

เมื่อส่ง: สร้างตัวเลขสุ่ม1234ฝาก Redis คีย์คือ sms:register:138xxxx0000,Value คือ1234และตั้งเวลาหมดอายุ300วินาที

เมื่อตรวจสอบ: ผู้ใช้ส่ง1234กลับไปที่ Redis เพื่อตรวจสอบ sms:register:138xxxx0000ค่าหากถูกต้องให้ผ่านหากไม่ถูกต้องหรือไม่พบให้ส่งคืน "รหัสยืนยันไม่ถูกต้องหรือหมดอายุ"

ขั้นตอนที่สี่: การต่อสู้ต่อต้านการแปรงฟัน (หากคุณไม่ดูส่วนนี้คุณอาจสูญเสียชุดชั้นในของคุณ)

มีกลุ่มคนในแวดวงแฮ็กเกอร์ที่เรียกว่า "SMS Bomber" พวกเขาจะใช้สคริปต์เพื่อเรียกใช้อินเทอร์เฟซการลงทะเบียนของคุณอย่างบ้าคลั่งซึ่งสามารถใช้ข้อความของคุณได้หลายหมื่นข้อความในคืนเดียวเพื่อไม่ให้ถูกเอาเปรียบคุณต้องเพิ่ม

ไฟร์วอลล์สามช่อง

ระดับการป้องกัน

วิธีการเฉพาะ

ทำไมถึงได้ผล

วิธีแรก: การจำกัดเวลา

หมายเลขโทรศัพท์มือถือเดียวสามารถส่งได้เพียงครั้งเดียวภายใน60วินาที

สกัดกั้นการสั่นอย่างต่อเนื่องของส่วนหน้าและส่วนหลัง

วิธีที่สอง: รหัสยืนยันกราฟิก

ก่อนคลิก "รับรหัสยืนยัน" คุณต้องเลื่อนหรือป้อนรหัสยืนยันรูปภาพก่อน

วิธีที่มีประสิทธิภาพสูงสุดปิดกั้นเครื่องที่เขียนสคริปต์ออกจากประตูโดยตรง

วิธีที่สาม: ขีดจำกัดทั้งหมด

หมายเลขโทรศัพท์มือถือเดียวกันและ IP เดียวกันสามารถส่งได้สูงสุด5หมายเลขภายใน24ชั่วโมง

แม้ว่าสองแนวป้องกันแรกจะหายไปแต่ก็สามารถหยุดการสูญเสียได้ทันเวลา

หมายเหตุเพิ่มเติม: พื้นหลัง Alibaba Cloud มาพร้อมกับฟังก์ชัน "การป้องกันความปลอดภัยทั่วไป" อย่าลืมไปที่พื้นหลังและตั้งค่า "ขีดจำกัดการส่งวันเดียว" ให้ต่ำลง (เช่น100

0รายการ) ด้วยวิธีนี้หากรหัสเขียนข้อบกพร่องหรือถูกปัดมันจะเป่าโดยอัตโนมัติเมื่อถึงขีดจำกัดเพื่อไม่ให้คุณล้มละลาย

สูตรการแก้จุดบกพร่อง

อย่าตกใจเมื่อคุณเรียกใช้รหัสและพบข้อผิดพลาดรหัสข้อผิดพลาดของ Alibaba Cloud ค่อนข้างชัดเจน:

การซื้อรหัสยืนยันทาง SMS

Isv. MOBILE_NUMBER_ILLEGAL: รูปแบบหมายเลขโทรศัพท์มือถือไม่ถูกต้องตรวจสอบว่าตัวเลข11หลักเขียนผิดหรือผสมลงในช่องว่าง

Isv. BUSINESS_LIMIT_CONTROL: จำกัดความถี่ทริกเกอร์หมายความว่าคุณทดสอบบ่อยเกินไปและถูก Alibaba Cloud ดักฟังชั่วคราวรอสักครู่แล้วลองอีกครั้ง

Isv. SMS_SIGNATURE_ILLEGAL: ลายเซ็นผิดกฎหมายตรวจสอบลายเซ็นในรหัสของคุณว่ามีคำผิดกับลายเซ็นที่ได้รับการอนุมัติโดยพื้นหลังของ Alibaba Cloud หรือไม่ (ไม่สามารถใช้ช่องว่างเพิ่มเติมได้)

การซื้อรหัสยืนยันทาง SMS

cloud
← 返回新闻中心