Xác thực số điện thoại quốc tế Laravel
Trong hướng dẫn này, chúng ta sẽ trình diễn xác thực số điện thoại trong laravel. đó là ví dụ đơn giản về xác thực số điện thoại di động của laravel. Bài viết này đi chi tiết về xác thực số điện thoại di động 10 chữ số trong laravel. bạn sẽ học xác thực số điện thoại trong laravel Show
chúng tôi hầu hết yêu cầu thêm xác thực số điện thoại trong ứng dụng laravel của chúng tôi. Vì vậy, tôi sẽ chỉ cho bạn cách thêm xác thực di động trong laravel 6, laravel 7, laravel 8 và laravel 9 bằng regex. bạn có thể dễ dàng sử dụng với phương thức điều khiển của mình Tôi sẽ cung cấp cho bạn hai cách để thêm xác thực số điện thoại trong laravel. vì vậy tôi sẽ chỉ cho bạn mã điều khiển và xem trước tại đây. vì vậy bạn cũng có thể theo dõi xác thực mẫu bằng laravel với mã này. Ví dụ xác thực biểu mẫu Laravel Nếu Bạn không muốn tự động phát hiện ServiceProvider của gói này, Bạn cần đặt dòng này vào Trình soạn thảo của bạn. json
Đăng ký nhà cung cấp (tùy chọn)Nếu Bạn có gói này là không thể phát hiện được, thì Bạn cần phải đăng ký Nhà cung cấp dịch vụ của nó trong
Quy tắc xác thực có sẵnTên. Tên cơ sở xác thực số điện thoại của Laravel. laravel-phone-validaMô tả. Xác thực số điện thoại bằng mã quốc giaPhiên bản. -Phiên bản PHP. 5Giấy phép. Giấy phép PHPNgười dùng mọi lúc. 35 người dùngXếp hạng mọi thời đại. 10612Người dùng trong tuần. 0 người dùngThứ hạng tuần. 10 Xác thực dữ liệu là cần thiết cho bất kỳ ứng dụng nào, bất kể quy mô và mục đích của nó. Nếu không có nó, bạn có nguy cơ sử dụng dữ liệu do các tác nhân độc hại giả mạo, chỉ chứa rác—hoặc là sự kết hợp của cả hai. Và dữ liệu đến từ đâu cũng không quan trọng; Rất vui, việc xác thực cực kỳ phổ biến trong quá trình phát triển phần mềm hiện đại, đến mức có rất nhiều gói của bên thứ ba có sẵn trên Packagist và các khung công tác chính của PHP đều có thành phần xác thực. Với chúng, bạn có thể xác thực địa chỉ email, mật khẩu, ngày tháng, địa chỉ IP, số và hơn thế nữa Tuy nhiên, điều gì xảy ra khi gói hoặc khung không hỗ trợ trường hợp sử dụng của bạn, chẳng hạn như xác thực số điện thoại? Trong hướng dẫn này, chúng tôi sẽ xây dựng tính năng xác thực số điện thoại từ bất kỳ quốc gia nào trên thế giới và sau đó chỉ cho bạn một số cách sử dụng số điện thoại đó Chúng tôi không xác minh xem một số điện thoại có thuộc sở hữu của một người cụ thể hay không, đang hoạt động, v.v. Chúng tôi chỉ đang xác thực nếu một chuỗi nhất định tạo thành một số điện thoại hợp lệ điều kiện tiên quyếtĐể hoàn thành hướng dẫn, bạn sẽ cần những thứ sau
Tạo ứng dụng Laravel cơ sởĐiều đầu tiên cần làm là khởi động một ứng dụng Laravel. Có một số cách để làm điều đó, chẳng hạn như và. Tuy nhiên, một trong những cách đơn giản nhất là với Composer, bằng cách chạy các lệnh bên dưới
Các lệnh sẽ tạo ứng dụng trong một thư mục mới có tên twilio-phone-number-validator. Để tiết kiệm một chút thời gian, các lệnh cũng thay đổi thư mục mới và sử dụng bảng điều khiển Artisan để khởi chạy ứng dụng đang nghe trên localhost trên cổng 8000 Nếu bạn mở http. //máy chủ cục bộ. 8000 trong trình duyệt bạn chọn, nó sẽ trông giống như ảnh chụp màn hình bên dưới Truy xuất và đăng ký các biến môi trườngVới ứng dụng cơ sở đã sẵn sàng hoạt động, tiếp theo bạn cần truy xuất thông tin đăng nhập Twilio của mình và lưu trữ chúng trong cấu hình của Laravel. Chúng tôi cần thông tin đăng nhập vì API tra cứu yêu cầu xác thực Đầu tiên, thêm mã dưới đây vào cuối của bạn. env, nằm trong thư mục gốc của ứng dụng
Sau đó, từ Bảng điều khiển của Bảng điều khiển Twilio mà bạn có thể thấy bên dưới, hãy sao chép "SID tài khoản" và "Mã thông báo xác thực" của bạn và thay thế các trình giữ chỗ tương ứng trong. ghen tị với họ Thêm các phụ thuộc cần thiếtTrước khi chúng tôi có thể viết một số mã tùy chỉnh, chúng tôi cần cài đặt các phụ thuộc cần thiết. May mà chỉ có một. Thư viện trợ giúp PHP của Twilio. Để cài đặt nó, hãy chạy lệnh bên dưới
Tạo dịch vụ tra cứuBây giờ, hãy viết một số mã Chúng ta sẽ bắt đầu bằng cách tạo một lớp dịch vụ nhỏ để gói gọn logic tương tác với API tra cứu của Twilio. Có, chúng tôi có thể viết mã trực tiếp trong bộ điều khiển, nhưng làm như vậy không phải là cách truyền cảm hứng nhất. Nó cũng không phải là linh hoạt nhất Bằng cách sử dụng dịch vụ tra cứu, chúng tôi có thể xác thực số theo nhiều cách và ngữ cảnh khác nhau, nếu có nhu cầu. Để làm điều đó, từ dòng lệnh, hãy tạo cấu trúc thư mục lồng nhau mới, ứng dụng/Dịch vụ/Twilio, bằng cách chạy các lệnh bên dưới
Nếu bạn đang sử dụng Microsoft Windows, hãy sử dụng các lệnh sau để thay thế
Tiếp theo, tạo một tệp mới, app/Service/Twilio/PhoneNumberLookupService. php, trong trình chỉnh sửa hoặc IDE của bạn và dán đoạn mã sau vào đó. Sau đó, chúng ta hãy cùng nhau tìm hiểu xem nó đang làm gì
5 có một mục đích. để xác thực một số điện thoại, nó thực hiện theo phương thức 6Nó bắt đầu bằng cách khởi tạo một biến thành viên lớp, 7, là một đối tượng, sử dụng SID tài khoản Twilio và mã thông báo xác thực được lưu trữ trong. env sớm hơn. Đây là cách ứng dụng sẽ thực hiện các cuộc gọi được xác thực tới API tra cứu của TwilioPhương thức 6 chứa logic xác thực cốt lõi, lấy số điện thoại để kiểm tra làm tham số duy nhất của nó. Nếu số điện thoại trống, nó sẽ ngay lập tức trả về 0. Điều này là do một chuỗi rỗng sẽ không bao giờ xác thực thành công. Vì vậy, chúng tôi lưu yêu cầu—và tôn trọng thời gian của người dùng—bằng cách thoát sớmNếu chuỗi không trống, một yêu cầu được gửi tới API tra cứu của Twilio bằng cách sử dụng đối tượng Twilio 8 đã khởi tạo. Cuộc gọi được bao bọc trong một khối try/catch vì một 2 sẽ bị ném nếu số điện thoại không hợp lệ. Nếu một ngoại lệ được ném ra, chúng tôi sẽ bắt nó và trả về 0. Nếu một ngoại lệ không được đưa ra, chúng tôi biết rằng số điện thoại hợp lệ, do đó, 4 được trả vềKhi yêu cầu trả về thông tin trong phản hồi, việc loại bỏ thông tin đó có vẻ lãng phí. Tuy nhiên, việc sử dụng API tra cứu có thể ít hiệu quả hơn nhiều so với việc tạo một biểu thức chính quy có khả năng tự xác thực mọi số điện thoại có thể. Ngoài ra, API tra cứu không cung cấp điểm cuối xác thực thuần túy Điều này đặc biệt xảy ra khi bạn cho rằng các yêu cầu về thông tin tên nhà cung cấp dịch vụ và người gọi không miễn phí. Chi phí thông tin nhà cung cấp $0. 005 mỗi số điện thoại tra cứu. Thông tin tên người gọi (hiện chỉ khả dụng ở Hoa Kỳ) có giá $0. 01 mỗi số điện thoại tra cứu Tạo quy tắc xác thực tùy chỉnhKhi dịch vụ tra cứu đã hoàn tất, bây giờ chúng ta sẽ tạo dịch vụ sẽ sử dụng dịch vụ này để xác thực số điện thoại Đầu tiên, trong terminal, hãy chạy lệnh bên dưới để tạo lõi của lớp trong app/Rules/PhoneNumberLookup. php
Sau đó, thay thế phần thân của lớp bằng mã bên dưới (được định dạng để dễ đọc)
Hàm tạo lấy một đối tượng 5, 6, để khởi tạo một biến thành viên cùng tên của lớpPhương pháp 7 xác định xem quy tắc có được thông qua hay không;
Phương thức chuyển 9 sang phương thức 6 của 6 và trả về kết quả, xác định xem số điện thoại có hợp lệ hay khôngPhương thức 3 cung cấp thông báo lỗi xác thực phù hợp được hiển thị cho người dùng, nếu số điện thoại không xác thực được. Đó là một thông điệp khá chung chung, nhưng nó phù hợp với hướng dẫn nàyGHI CHÚ. Kiểm tra cách thực hiện, nếu bạn muốn hiển thị thông báo bằng nhiều ngôn ngữ Trước khi tiếp tục, đừng quên thêm câu lệnh sử dụng bắt buộc bên dưới, nếu trình soạn thảo văn bản hoặc IDE của bạn không tự động hoàn thành chúng cho bạn
Tạo bộ điều khiển mớiBây giờ, mã hệ thống ống nước, nếu bạn muốn, đã được viết, chúng ta sẽ tạo một lớp trình điều khiển mới, có tên là PhoneNumberController, lớp này sẽ sử dụng Quy tắc mới để xác thực yêu cầu có chứa số điện thoại Sử dụng Artisan để tạo lõi của bộ điều khiển trong ứng dụng/Http/Bộ điều khiển bằng cách chạy lệnh bên dưới
Sau đó, sử dụng mã bên dưới làm phần thân của lớp mới 0Sau đó, thêm câu lệnh 4 bên dưới
Phương thức 5 trước tiên khởi tạo một 5 mới, sử dụng SID tài khoản Twilio và mã thông báo xác thực được truy xuất bằng cách sử dụng. Sau đó, nó cố gắng xác thực thuộc tính 7 trong phần thân của yêu cầu bằng cách sử dụng hai quy tắc xác thực hiện có của Laravel (, ) và quy tắc tùy chỉnh của chúng tôiNếu muốn, bạn có thể sử dụng bao đóng thay vào đó, bạn có thể thấy trong ví dụ bên dưới 2Việc đóng cửa nhận được ba đối số
Để việc đóng cửa được thông qua, phương pháp 6 của 5 phải xác thực thành công số điện thoại. Nếu không, thì cuộc gọi lại 0 sẽ được chạyĐăng ký một tuyến đường cho bộ điều khiểnĐể sử dụng bộ điều khiển mới, chúng ta phải đăng ký một tuyến đường cho nó. Để làm điều đó, hãy thêm mã bên dưới vào cuối route/api. php 3Tuyến đường cho phép các yêu cầu POST tới 4, sẽ được xử lý bằng phương thức 5 của 5Kiểm tra mãCó rất nhiều cách để kiểm tra mã, chẳng hạn như sử dụng Postman hoặc PhpStorm's Terminal. Tuy nhiên, hãy sử dụng cURL—công cụ dòng lệnh yêu thích của tôi. Chạy lệnh bên dưới, thay thế 7 bằng số điện thoại của bạn 4Nếu mọi thứ hoạt động như mong đợi, bạn sẽ thấy đầu ra trong thiết bị đầu cuối của mình tương tự như ví dụ bên dưới; . 1 200 OK mã trạng thái 5Tiếp theo, hãy xem ví dụ về một yêu cầu không thành công, bằng cách chạy lệnh bên dưới, lệnh này sẽ gửi "+1" dưới dạng số điện thoại 6Điều này sẽ không bao giờ xác thực thành công, vì vậy bạn sẽ thấy đầu ra trong thiết bị đầu cuối của mình tương tự như ví dụ bên dưới; . 1 302 Đã tìm thấy mã trạng thái 7Đơn giản hóa việc khởi tạo bằng cách sử dụng Nhà cung cấp dịch vụKhông có gì sai khi khởi tạo trực tiếp đối tượng 5 trong bộ điều khiển—nếu chúng ta chỉ sử dụng nó ở đóNhưng, thông thường, một cách tiếp cận tốt hơn là sử dụng cùng với hàm tạo. Vì vậy, hãy tạo một Nhà cung cấp dịch vụ và cung cấp dịch vụ tra cứu dưới dạng một dịch vụ trong Bộ chứa dịch vụ của Laravel Trước tiên, hãy chạy lệnh bên dưới để Artisan tạo lõi của Nhà cung cấp dịch vụ mới cho chúng tôi, trong app/Providers/PhoneNumberLookupServiceProvider. php 8Sau đó, mở tệp mới và thay thế phương thức 9 bằng đoạn mã sau 9Khi chạy, bao đóng trong đối số thứ hai sẽ khởi tạo một đối tượng 5 mới. Hàm tạo của nó nhận được Twilio Auth SID và Mã thông báo, được đăng ký trong. env, mà nó sẽ sử dụng để khởi tạo đối tượng 8 của lớpSau đó, đối tượng 5 mới sẽ được đăng ký dưới dạng dịch vụ có tên 5 với vùng chứa dịch vụ của LaravelGHI CHÚ. Đừng quên thêm câu lệnh 4 bên dưới, nếu trình soạn thảo văn bản hoặc IDE của bạn không tự động hoàn thành chúng cho bạn
Đăng ký nhà cung cấp dịch vụVới Nhà cung cấp dịch vụ đã tạo, tiếp theo chúng ta cần đăng ký nó để Laravel sẽ sử dụng nó khi ứng dụng được khởi chạy. Để làm điều đó, trong config/app. php thêm phần sau vào cuối phần "Nhà cung cấp dịch vụ ứng dụng" 1Tái cấu trúc PhoneNumberControllerVới Nhà cung cấp dịch vụ đã sẵn sàng và được tích hợp vào ứng dụng của chúng ta, hãy cấu trúc lại 5 để sử dụng nó, bằng cách thêm đoạn mã sau vào đầu lớp 2Thay đổi này sử dụng Laravel để truy xuất một đối tượng 5 từ Bộ chứa dịch vụ và chuyển nó tới hàm tạo của bộ điều khiển khi nó được khởi tạo. Đổi lại, điều này sử dụng nó để khởi tạo một biến thành viên riêng, có tên là 7Tiếp theo, thay thế phần thân của phương thức 5 bằng mã bên dưới 3Nó không quá khác biệt so với lần lặp đầu tiên. Lần này, 9 được khởi tạo với biến thành viên lớp được khởi tạo trong hàm tạo, không phải biến mà chúng ta khởi tạo trực tiếp trong chính phương thức đóKiểm tra mãVới những thay đổi đã thực hiện, hãy sử dụng cURL, như trước đây, để kiểm tra xem số điện thoại hợp lệ có còn xác thực thành công hay không. Tôi đã bao gồm ví dụ về cURL bên dưới để giúp bạn tiết kiệm thời gian truy xuất nó 4Đó là cách xây dựng trình xác thực số điện thoại với LaravelVới quy tắc xác thực tùy chỉnh và một số mã keo trong bộ điều khiển, bạn có thể kiểm tra xem có điện thoại nào trên thế giới là thật hay không, khá nhanh chóng. Hơn nữa, bằng cách thêm vào một Nhà cung cấp dịch vụ tùy chỉnh, bạn có thể sử dụng logic xác thực ở bất kỳ đâu trong ứng dụng Laravel của mình, khi có nhu cầu. Mạnh mẽ và linh hoạt Tôi hy vọng rằng điều này đã truyền cảm hứng cho bạn để tạo quy tắc xác thực tùy chỉnh của riêng bạn và rất vui khi được nghe về những gì bạn xây dựng Matthew Setter là Trình chỉnh sửa PHP trong nhóm Twilio Voices và là nhà phát triển đa ngôn ngữ. Ông cũng là tác giả của Mezzio Essentials và Docker Essentials. Khi anh ấy không viết mã PHP, anh ấy đang chỉnh sửa các bài viết PHP tuyệt vời tại Twilio. Bạn có thể tìm thấy anh ấy tại msetter@twilio. com; Đánh giá bài viết này 1 2 3 4 5 tác giả
người phản biện
bài viết liên quanBảo vệ tài khoản Twilio của bạn khỏi gian lận số điện thoại Ngày 12 tháng 1 năm 2023 Tìm hiểu nhiều kỹ thuật mà bạn có thể sử dụng để bảo vệ tài khoản Twilio của mình trước các âm mưu lừa đảo liên quan đến số điện thoại Cách xác thực đầu vào số điện thoại trong HTML và JavaScript 09 Tháng một, 2023 Nếu bạn đã tìm kiếm "regex số điện thoại" trên Google và hối hận vì điều đó thì bạn đang ở đúng nơi. Bài đăng này sẽ hướng dẫn cách sử dụng hai công cụ miễn phí để kiểm tra tính hợp lệ của số điện thoại bằng HTML và JavaScript Xác định các loại dòng số điện thoại với nút và tra cứu Twilio. js 06 Tháng một, 2023 Tìm hiểu cách phát hiện số VoIP bằng Twilio Lookup Line Type Intelligence Xác định nhà cung cấp số điện thoại trong Python với Tra cứu Twilio 06 Tháng một, 2023 Tìm hiểu cách nhận biết số điện thoại có phải là số Twilio hay không bằng cách sử dụng gói thông minh loại dòng API Tra cứu của Twilio Cách vệ sinh số điện thoại trước khi gửi thông báo hàng loạt 06 Tháng một, 2023 Tìm hiểu cách làm sạch dữ liệu với Tra cứu Twilio để đảm bảo số điện thoại là số thật, được định dạng chính xác và số điện thoại di động trước khi gửi tin nhắn hàng loạt Làm cách nào để xác thực số điện thoại trong laravel?Xác thực số điện thoại Laravel
. con số. tối thiểu. 10' ]); $validated = $request->validate([ phone_number=> 'required|numeric|min:10' ]); //Nếu số vượt qua xác thực, phương thức sẽ tiếp tục ở đây. } Trong chức năng lưu của chúng tôi, chúng tôi sử dụng phương thức xác thực được cung cấp bởi đối tượng Illuminate\Http\Request.
Làm cách nào để xác thực mã quốc gia trong laravel?Cách sử dụng. Xác thực mã quốc gia gồm 2 ký tự. sử dụng LVR\CountryCode\Two;
Cách tốt nhất để xác thực số điện thoại là gì?Các phương pháp hay nhất để xác thực số điện thoại . Xác nhận rằng số điện thoại hợp lệ. . Kiểm tra loại đường dây, bao gồm số điện thoại di động, điện thoại cố định và VoIP. . Xây dựng danh sách cho phép mã quốc gia để chấp nhận. . Duy trì một danh sách các nhà cung cấp dịch vụ dựa trên danh tiếng Tôi có thể kiểm tra xem số điện thoại có hợp lệ không?Truy cập www. văn bản. com hoặc tải xuống ứng dụng di động TextMagic trên cửa hàng Google Play. Nhập số điện thoại và quốc gia của bạn rồi nhấp vào Xác thực số . Ứng dụng này sẽ hiển thị cho bạn trạng thái của số nếu nó đang hoạt động hay không. Một ứng dụng khác bạn có thể sử dụng là Giám sát số điện thoại. |