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
  0 Bình luận
Chia sẻ:  

Hiểu sâu về CSRF, CORS và xử lý ở cấp độ core một cách an toàn
Đánh giá về lỗi bảo mật CSRF của NukeViet và những điều quản trị site nên làm

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây