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:
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:
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
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)
- 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