Ngày nay, xác thực cơ bản rất phổ biến trong khi thực hiện bất kỳ lệnh gọi API nào để xác thực yêu cầu. Xác thực cơ bản hoạt động với giao thức HTTP để xác thực yêu cầu HTTP của khách hàng
Xác thực cơ bản hoạt động như thế nào?
Trong một yêu cầu HTTP đơn giản, máy khách gửi yêu cầu đến máy chủ và máy chủ chịu trách nhiệm phục vụ yêu cầu. Máy chủ chỉ có thể xử lý yêu cầu nếu không có mật khẩu bảo vệ hoặc máy chủ cho phép truy cập trái phép. Nhưng ngày nay, mọi yêu cầu đều cần có một số loại ủy quyền để nhận được phản hồi. Vì vậy, xác thực cơ bản đi vào hình ảnh
Xác thực cơ bản yêu cầu tiêu đề ủy quyền cơ bản với yêu cầu HTTP gửi ở định dạng được mã hóa
Ví dụ: tiêu đề ủy quyền chứa tên người dùng và mật khẩu ở định dạng base64-encoded theo sau là từ Basic
'Authorization: Basic '. base64_encode("$username:$password")
Bây giờ nếu chúng tôi gửi yêu cầu cURL PHP được bảo vệ bởi xác thực HTTP, thì chúng tôi sẽ gặp lỗi truy cập trái phép i. e. 401 trái phép
401 Unauthorized: You need a valid user and password.
Một số nhà cung cấp API sử dụng mã thông báo truy cập từ và bí mật truy cập tương tự như tên người dùng và mật khẩu
Vì vậy, đừng nhầm lẫn với thuật ngữ dưới đây vì cả hai đều giống nhau
tên người dùng tương tự như mã thông báo truy cập
Mật khẩu tương tự như bí mật truy cập
Gửi yêu cầu API với xác thực cơ bản HTTP bằng PHP cURL
Bây giờ hãy xem đoạn mã đơn giản để tạo một yêu cầu API bằng cách sử dụng PHP curl với xác thực cơ bản HTTP. Như chúng ta biết rằng cURL chủ yếu được sử dụng để gọi API và ở đây chúng tôi sẽ sử dụng PHP cURL để thực hiện yêu cầu
Có một cách riêng khác để gọi trực tiếp cURL bằng cách chuyển xác thực đơn giản. Ở đây chúng tôi sẽ không sử dụng từ 'Basic' và xác thực được mã hóa. Mã được đưa ra dưới đây
Cách truyền dữ liệu hoặc tải trọng trong xác thực HTTP cơ bản bằng PHP cURL
Trong một số trường hợp, chúng tôi cần đăng một số dữ liệu cùng với yêu cầu cURL. Dữ liệu này còn được gọi là tải trọng, về mặt API. Vì vậy, hãy xem cách đăng dữ liệu tải trọng trong yêu cầu cURL. Ở đây, chúng tôi sẽ tạo một mảng đơn giản với một số dữ liệu tải trọng và encode nó ở định dạng json và chuyển vào CURLOPT_POSTFIELDS
Hôm nay, chúng tôi muốn chia sẻ với bạn các ví dụ về tiêu đề cấp quyền của PHP cURL Http. Trong bài đăng này, chúng tôi sẽ chỉ cho bạn các ví dụ về ủy quyền tiêu đề đặt cURL của PHP, hãy nghe mật khẩu tên người dùng xác thực http curl, chúng tôi sẽ cung cấp cho bạn bản demo và ví dụ để triển khai. Trong bài đăng này, chúng ta sẽ tìm hiểu về bộ mang ủy quyền tiêu đề php curl với một ví dụ
Các ví dụ về tiêu đề vượt qua ủy quyền http cURL của PHP
nội dung
Có những điều sau đây Giới thiệu về lệnh gọi API cURL đơn giản với xác thực bằng php (GET POST) Thông tin đầy đủ với ví dụ và mã nguồn
Vì tôi sẽ giới thiệu Bài đăng này với ví dụ Hoạt động trực tiếp để phát triển Gửi tên người dùng và mật khẩu bằng PHP CURL, vì vậy cách chuyển khóa api trong tiêu đề curl php được sử dụng cho ví dụ này như sau
Chào mừng bạn đến với hướng dẫn về cách thực hiện cuộc gọi PHP CURL với xác thực cơ bản HTTP. Cần bảo mật cuộc gọi từ máy chủ đến máy chủ mà không cần tất cả các công cụ đăng nhập, xác minh và mã hóa điên rồ?
Để thực hiện lệnh gọi PHP CURL với xác thực cơ bản HTTP, chúng tôi phải đặt người dùng và mật khẩu trong tùy chọn CURL
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, "//SITE.COM");
- curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
- curl_setopt($ch, CURLOPT_USERPWD, "USER:PASSWORD");
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- $result = curl_exec($ch);
- curl_close($ch);
Điều đó sẽ bao gồm những điều cơ bản, nhưng hãy đọc để biết ví dụ thực tế
ⓘ Tôi đã bao gồm một tệp zip chứa tất cả mã nguồn khi bắt đầu hướng dẫn này, vì vậy bạn không cần phải sao chép-dán mọi thứ… Hoặc nếu bạn chỉ muốn đi sâu vào
TLDR – TRANG TRÌNH BÀY NHANH
Tải xuống & Ghi chú
TẢI XUỐNG & LƯU Ý
Đầu tiên, đây là liên kết tải xuống mã ví dụ như đã hứa
GHI CHÚ NHANH
- Ví dụ này dựa trên máy chủ XAMPP
- Chỉnh sửa protected/.htaccess, thay đổi AuthUserFile thành đường dẫn tệp của riêng bạn – Người dùng và mật khẩu mặc định trong $ch = curl_init();0 là $ch = curl_init();1 và $ch = curl_init();2
- Chỉnh sửa $ch = curl_init();3, thay đổi $ch = curl_init();4 thành của riêng bạn
MÃ VÍ DỤ TẢI XUỐNG
Nhấp vào đây để tải xuống tất cả mã nguồn ví dụ, tôi đã phát hành nó theo giấy phép MIT, vì vậy hãy thoải mái xây dựng trên mã nguồn đó hoặc sử dụng nó trong dự án của riêng bạn
PHP CURL VỚI HTTP AUTH
Được rồi, bây giờ chúng ta hãy đi vào ví dụ về CURL với xác thực cơ bản HTTP
MÁY CHỦ A) GỌI PHP CURL
xác thực CURL. php
<?php // (A) THE SETTINGS $url = "//localhost/protected/secret.php"; $user = "USER"; $password = "PASS"; // (B) CURL INIT $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($ch, CURLOPT_USERPWD, "$user:$password"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); if (substr($url, 0, 5)=="https") { curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); } // (C) CURL EXEC // NOTE: HTTP RESPONSE CODE 200 = OK $result = curl_exec($ch); if (curl_errno($ch)) { echo curl_error($ch); } else { $info = curl_getinfo($ch); if ($info["http_code"] != 200) { print_r($info); } else { echo $result; } } curl_close($ch);Điều này sẽ khá tự giải thích
- Như trong phần giới thiệu, tất cả những gì chúng ta cần là thiết lập các tùy chọn CURL (_______10_______5 và $ch = curl_init();6) tương ứng
- Nếu bạn gặp sự cố với SSL (_______10_______7), hãy thử tắt xác minh ngang hàng – $ch = curl_init();8
- Lưu ý phần “tìm nạp kết quả”, chúng ta có thể sử dụng $ch = curl_init();9 để biết thêm thông tin về phản hồi của máy chủ. Điều quan trọng, hãy kiểm tra curl_setopt($ch, CURLOPT_URL, "//SITE.COM");0 – Xác thực không thành công thường sẽ trả về 401 (trái phép)
MÁY CHỦ B) THƯ MỤC ĐƯỢC BẢO VỆ
Đây là một bổ sung nhỏ cho các bạn đang chạy Apache và không biết cách bảo mật các thư mục bằng auth HTTP cơ bản
- Các máy chủ web Apache đi kèm với một công cụ có tên là curl_setopt($ch, CURLOPT_URL, "//SITE.COM");1 và chúng tôi có thể sử dụng công cụ này để tạo tệp người dùng/mật khẩu – curl_setopt($ch, CURLOPT_URL, "//SITE.COM");2
- Tiếp theo, tạo một tệp curl_setopt($ch, CURLOPT_URL, "//SITE.COM");3 trong thư mục mà bạn muốn bảo vệ
- curl_setopt($ch, CURLOPT_URL, "//SITE.COM");4
- curl_setopt($ch, CURLOPT_URL, "//SITE.COM");5
- curl_setopt($ch, CURLOPT_URL, "//SITE.COM");6
- curl_setopt($ch, CURLOPT_URL, "//SITE.COM");7
Đó là tất cả
BIT BỔ SUNG & LIÊN KẾT
Đó là tất cả cho hướng dẫn chính và đây là một phần nhỏ về một số tính năng bổ sung và liên kết có thể hữu ích cho bạn
LIÊN KẾT và THAM KHẢO
- Tùy chọn CURL – PHP
- Xác thực và ủy quyền cơ bản – Apache
- htpasswd – Quản lý tệp người dùng để xác thực cơ bản
- Xác thực cơ bản cho IIS – Microsoft
- Xác thực cơ bản cho NGINX
BẢNG CHEAT INFOGRAPHIC
Cảm ơn bạn đã đọc, và chúng tôi đã đi đến cuối. Tôi hy vọng rằng nó đã giúp bạn hiểu rõ hơn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc