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.
Xem thêm: Tác dụng của CORS và cách sử dụng
Để 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-Origin
cho phép nhiều nguồn gốc hoặc giá trị null
hoặ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.