Origin header là gì, có tác dụng thế nào để đảo bảo website được an toàn

Header Origin cho biết nguồn gốc truy vấn đến từ đâu. Nội dung header này bao gồm tên miền của truy vấn (giao thức, địa chỉ, port nếu có) và không bao gồm bất cứ đường dẫn nào khác. Nó được gửi đi trong một truy vấn CORS và POST. Header Origin tương tự như Referer tuy nhiên khác với Referer, Origin không cho biết toàn bộ đường dẫn của website gửi truy vấn đi.

Cú pháp:
Origin: null
Origin: <scheme> "://" <hostname> [ ":" <port> ]
Ví dụ:
Origin: null
Origin: https://writeblabla.com
Origin: http://writeblabla.com:82
Khi nào trình duyệt phải gửi Header Origin?
  • Tất cả các truy vấn POST same-origin hoặc cross-origin 
  • Tất cả các truy vấn CORS
Khi nào Header Origin có giá trị là null?
Có nhiều lý do kiến trình duyệt gửi header Origin có giá trị null, để đơn giản nhất có thể liệt kê một số trường hợp sau:
  • Cross-origin images, thẻ img
  • Cross-origin media data, ví dụ thẻ video, audio
  • Tài nguyên nằm trong Data URLs
  • Thẻ iframe với thuộc tính sandbox
  • document tạo ra bằng lệnh creatdocument
  • Lệnh redirect
  • Không phải giao thức http, https, ftp, ws, wss, gopher.
  • IE với các form post thông thường không có header Origin (IE sử dụng luật khác)
Kiểm soát Origin và Referer như thế nào khi website chặn Cross-Origin?
  • Nếu xuất hiện Origin phải kiểm tra xem Origin phải là Same-Origin
  • Luôn luôn kiểm tra Referer nếu không có hoặc không Same-Referer thì chặn
Bình luận (0)