Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP
Code

Làm thế nào để xác minh một số điện thoại qua tin nhắn SMS

by
Difficulty:IntermediateLength:ShortLanguages:

Vietnamese (Tiếng Việt) translation by Giang Nam (you can also view the original English article)

Final product image
What You'll Be Creating
Final product image
Những gì bạn sẽ tạo ra

Giới thiệu

Trong bài trước, tôi đã viết về việc chuẩn bị các ứng dụng của bạn cho tin nhắn SMS bằng cách sử dụng Twilio, một dịch vụ nhắn tin thông dụng. Trong bài hướng dẫn ngày hôm nay, tôi sẽ chỉ cho bạn làm thế nào để xác minh số điện thoại người dùng trước khi gửi đi một số lượng lớn tin nhắn văn bản và tối ưu hóa chi phí của bạn.

Trước khi chúng ta bắt đầu, tôi muốn khuyến khích bạn gửi câu hỏi và phản hồi trong phần bình luận. Nếu bạn muốn theo dõi các bài hướng dẫn và các dịch vụ khác trong tương lại của tôi trên Envato Tuts +, xin vui lòng truy cập vào trang hướng dẫn của tôi hoặc theo dõi @lookahead_io.

Phác thảo quá trình

Sau khi người sử dụng cung cấp số điện thoại của họ, chúng ta muốn thực hiện một số bước đơn giản:

  • Tạo ra một mã bốn chữ số duy nhất.
  • Lưu trữ số di động của khách hàng và mã bốn chữ số trong cơ sở dữ liệu của chúng ta (hoặc mã hóa các mã như là một biểu mẫu ẩn biến trên trang).
  • Gửi một văn bản chưa được xác minh với mã bốn chữ số.
  • Hiển thị một hình thức yêu cầu người dùng cung cấp mã họ nhận được.
  • Kiểm tra sự phù hợp của các mã.
  • Chỉ định số điện thoại như xác minh trong cơ sở dữ liệu.

Trang liên hệ người sử dụng

Trong Meeting Planner, mỗi người dùng có thể thêm nhiều phương pháp liên lạc, ví dụ như Skype, điện thoại, vv. Mỗi số di động phải được kiểm chứng để có thể sử dụng dịch vụ tin nhắn SMS thông báo.

Dòng thứ ba dưới đây cho thấy một hộp đánh dấu mà họ có thể nhấp chuột để yêu cầu xác minh:

How to Verify a Phone Number via SMS - Contacts list

Nhấn vào đó sẽ chuyển người dùng tới các bộ điều khiển actionVerify() dưới đây; lưu ý rằng nó đưa họ vào khối else trước tiên bởi vì họ đã không được gửi một mã số:

Phương pháp canRequest() kiểm tra nếu người dùng yêu cầu mã liên tục hoặc quá thường xuyên:

Tôi khiến họ chờ đợi một phút giữa các nỗ lực để giảm lạm dụng.

Truyền mã xác minh

Nếu được phép, nó gọi hàm requestCode():

Hàm này thực hiện như sau:

  • Tạo ra một mã bốn chữ số ngẫu nhiên.
  • Nó ghi lại thời điểm cuối cùng theo thời gian (giây unix) yêu cầu thực hiện xác minh.
  • Nó làm gia tăng các nỗ lực xác minh cho số này.
  • Và nó lưu trữ tất cả điều này trong cơ sở dữ liệu.
  • Sau đó, nó truyền một văn bản với các mã trông giống như hình dưới đây.
How to Verify a Phone Number via SMS - Text message with verification code

Sau khi yêu cầu mã, lưu nó trong cơ sở dữ liệu ẩn và truyền mã cho người dùng, nó tải các biểu mẫu sau đây để yêu cầu mã:

How to Verify a Phone Number via SMS - Verify Contact Form requesting code

Xác minh mã

Khi người dùng cố gắng gửi một mã số, nó chạy phần phía trên của actionVerify():

Nó sẽ kiểm tra các mã phù hợp. Nếu tìm thấy mã phù hợp, nó cập nhật cơ sở dữ liệu để phản ánh số đã được xác minh. Và nó thông báo với người sử dụng:

How to Verify a Phone Number via SMS - Successful confirmation notice

Nếu không, nó sẽ hiển thị một thông báo lỗi:

How to Verify a Phone Number via SMS - Error try again after a minute

Hãy tự thử làm

Nếu bạn muốn nhìn thấy điều này theo từng bước làm, bạn có thể đăng ký tại Simple Planner hoặc Meeting Planner (bạn có thể dễ dàng đăng nhập với một tài khoản mạng xã hội như Facebook hoặc Google) và thêm một số điện thoại. Sau đó nhấn dấu chọn trong danh sách mà bạn sẽ thấy. Thế là xong.

Kết thúc

Rõ ràng, nếu ứng dụng của bạn gửi nhiều tin nhắn văn bản thì khoản chi phí sẽ là khá đáng kể, và bạn muốn hạn chế sự lạm dụng. Hãy bắt đầu với việc thiết lập tường lửa đối với các số điện thoại không hợp lệ- hoặc số điện thoại hợp lệ nhưng không thực sự thuộc sở hữu của người mạo danh.

Tôi hy vọng bạn thấy điều này hữu ích. Nếu bạn có bất kỳ thắc mắc hoặc gợi ý, xin vui lòng đăng tải trong phần bình luận. Nếu bạn muốn theo dõi các bài hướng dẫn khác tiếp theo của tôi trên Envato Tuts +, xin vui lòng truy cập vào trang hướng dẫn của tôi hoặc theo dõi @lookahead_io. Hãy xem loạt bài khởi động Meeting Planner của tôi.

Các liên kết có liên quan

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.