Hướng dẫn
Quảng cáo

Bật CORS cho nhiều domain trong PHP

Hôm nay, chúng tôi sẽ hướng dẫn cho bạn cách cho phép yêu cầu CORS cho nhiều nguồn khác nhau trong PHP.

Như chúng ta đã biết thì CORS (Cross Origin Resource Sharing) là một tính năng mới được tích hợp trong HTML5, thêm vào các HTTP headers chỉ dẫn cho trình duyệt web về sử dụng và quản lý nội dung cross-domain, cho phép lấy dữ liệu từ một trang khác thông qua XMLHttpRequest.

Để nhận được phản hồi từ một  yêu cầu POST có nhiều nguồn gốc khác nhau , chúng ta cần bao gồm tiêu đề Access-Control-Allow-Origin. Đặc điểm kỹ thuật của Access-Control-Allow-Origincho phép nhiều nguồn gốc hoặc giá trị nullhoặc ký tự đại diện *.

Ví dụ

Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: https:mydomain.com
Access-Control-Allow-Origin: null

Để bật CORS cho nhiều tên miền thì chúng ta sẽ sử dụng mã sau:

Ví dụ

$allowedOrigins = [
   'https://example.com',
   'https://abcd.example.com' ,
   'https://now.example.com' ,
];

if(in_array($_SERVER['HTTP_ORIGIN'], $allowedOrigins))
{
	$http_origin = $_SERVER['HTTP_ORIGIN'];
} else {
	$http_origin = "https://example.com";
}
header("Access-Control-Allow-Origin: $http_origin");

Trong đoạn mã trên, chúng tôi đã lấy một mảng gồm nhiều tên miền mà chúng tôi muốn cho phép Access-Control-Allow-Origin.
Sử dụng biến $_SERVER['HTTP_ORIGIN'] để xác minh miền mà yêu cầu đến và sau đó đặt có điều kiện Access-Control-Allow-Origin.

Tôi hy vọng bạn thấy bài viết này hữu ích.

Bài viết này đã giúp ích cho bạn?

Bài viết mới

Advertisements