Tôi có một tập lệnh PHP để kiểm tra HTTP Referer.
if ($_SERVER['HTTP_REFERER'] == 'http://www.example.com/') {...}
Tuy nhiên, điều này dường như inherintly không an toàn ... vì những gì xảy ra nếu người dùng đi vào 'http://example.com/'
hoặc 'http://www.ExaMple.com'
(cả hai đều không phù hợp với kiểm tra bình đẳng).
Câu hỏi: kiểm tra bình đẳng tốt hơn để đảm bảo rằng HTTP Referer đến từ 'example.com'
là gì?
Bạn đang sử dụng nó cho quốc phòng? Làm thế nào nó có thể giúp đỡ? –
Nó chỉ là một dòng đầu tiên của quốc phòng (đặc biệt là cho tôi biết người giới thiệu có thể được giả mạo). Nó không bảo vệ bất cứ điều gì an toàn nhưng đồng thời, tôi không muốn mọi người lạm dụng dịch vụ web của tôi bằng cách gọi trực tiếp. Nó có nghĩa là để giữ cho người bán trung thực. – Hank
Người dùng có thể kiểm soát http_referer bằng cách sử dụng dữ liệu giả mạo. Tuy nhiên, người giới thiệu không thể "giả mạo" được sử dụng trong một cuộc tấn công CSRF. – rook