CORS là gì? Bật CORS trên hosting cPanel thế nào?

CORS là gì? Hướng dẫn chi tiết cách bật CORS trên hosting cPanel giúp website trao đổi thông tin dễ dàng hơn và tăng khả năng tương tác với các dịch vụ Internet.

CORS là gì?

CORS là gì? Bật CORS trên hosting cPanel thế nào?

CORS (Cross-origin resource sharing) là một cơ chế cho phép hạn chế việc chia sẻ tài nguyên của một trang web đối với các trang web khác.

Ví dụ web A chỉ cho phép các request từ trang web A này yêu cầu tài nguyên, các trang web B và C sẽ bị hạn chế. Nếu cố truy cập sẽ báo lỗi CORS.

Đây là một cơ chế bảo mật của trình duyệt, khi không sử dụng CORS thì bất cứ trang web nào cũng có thể thực hiện requests tới trang web đó, từ đó gây ra lỗi tài nguyên hệ thống.

Block by CORS policy là gì?

CORS là gì? Bật CORS trên hosting cPanel thế nào? (2)

Hiểu đơn giản đây là 1 tính năng bảo mật được dùng để quản lý request trích xuất nội dung từ 1 domain này tới 1 domain khác thông qua đoạn mã access trong header. Thường thì tính năng này được bật trên CDN, nhưng trên tất cả các hosting thì lại không.

Rất đơn giản, vì nếu hosting cho phép access CORS thì các stastic file của Website sẽ bị trích xuất vô tội vạ, dẫn đến việc hao tổn bandwitch cho việc leak tài nguyên.

Tuy nhiên, trong một số trường hợp các bạn nên bật, ví dụ như là các bạn dùng 2 domain cho 1 website chẳng hạn. Khi triển khai, mình đảm bảo các bạn sẽ bị trình duyệt báo lỗi với dòng chữ “Blocked by CORS…” và thế là trang bị lỗi hiển thị do domain 2 không trích được file từ domain 1.

Cách bật CORS trên hosting cPanel

  • Kích hoạt trong file .htaccess

Bạn thêm các dòng code dưới đây vào trong file .htaccess

<IfModule mod_headers.c>

Header set Access-Control-Allow-Origin "*"

</IfModule>
  • Nếu sử dụng mã nguồn PHP bạn có thể sử dụng như sau:
<?php

header("Access-Control-Allow-Headers: Authorization, Content-Type");

header("Access-Control-Allow-Origin: *");

header('content-type: application/json; charset=utf-8');

?>

Sau khi đã thêm code bạn có thể kiểm tra trên website đã được bật CORS chưa.

CORS là gì? Bật CORS trên hosting cPanel thế nào? (3)

Chúc bạn thành công

Nguồn: inet