Có vẻ như bạn đang cố gắng để thực hiện trang web chéo bảo vệ Yêu cầu giả mạo, trong đó bạn cần đảm bảo yêu cầu bắt nguồn từ HTML được phân phối từ máy chủ web của bạn. Không dựa vào tiêu đề của người giới thiệu vì nó thường bị tước trong tường lửa và có thể được điều khiển.
Xem OWASP để biết một số nguồn tốt về cách triển khai loại bảo vệ này. Về cơ bản nó đi như thế này:
Tạo một giá trị ngẫu nhiên an toàn và dính vào nó trên phiên của người dùng
Đối với mỗi hình thức HTML, bao gồm giá trị này như một giá trị ẩn()
Bất cứ khi nào yêu cầu POST quay lại máy chủ của bạn, hãy kiểm tra xem giá trị từ trường ẩn có giống với giá trị trong phiên của người dùng hay không. Từ chối yêu cầu nếu không.
Vì màu sắc là duy nhất cho mỗi người dùng, kẻ tấn công không thể đơn giản giả mạo biểu mẫu với giá trị được điều chỉnh trước và lừa người dùng tự động đăng nó với javascript. Yêu cầu sẽ bị từ chối vì kẻ tấn công sẽ không biết giá trị nào cần đưa vào trường ẩn trong biểu mẫu giả mạo của anh ta.
Bạn đang tìm kiếm liên kết giới thiệu? Trang mà người dùng đến từ đâu? –
Bạn có thực sự có nghĩa là "bắt nguồn từ trang web của tôi" hay ý của bạn là "có nguồn gốc từ biểu mẫu trên trang được gửi đến trình duyệt từ trang web của tôi"? Chúng rất khác nhau. –
KHÔNG dựa vào tiêu đề người giới thiệu. Nó không thể được tin cậy và thường bị tước trong tường lửa để rò rỉ thông tin về các hệ thống nội bộ. – Erlend