2011-05-16 47 views
30

Tôi cần kiểm tra và ghi lại liên kết giới thiệu của khách truy cập vào ứng dụng web của tôi. Mức độ tin cậy khi sử dụng HTTP_REFERER? Và có những lựa chọn thay thế khác?HTTP_REFERER đáng tin cậy như thế nào?

Trả lời

40

Sử dụng HTTP_REFERER không đáng tin cậy, giá trị của nó phụ thuộc vào tiêu đề HTTP Referer do trình duyệt hoặc ứng dụng khách gửi tới máy chủ và do đó không thể tin cậy.

Về Referer tiêu đề, phần 15.1.2 of RFC2616 trạng thái:

Do đó, các ứng dụng NÊN cung cấp càng nhiều quyền kiểm soát thông tin này càng tốt để các nhà cung cấp về thông tin .

Chúng tôi đề nghị, mặc dù không yêu cầu, rằng một giao diện chuyển đổi thuận tiện được cung cấp cho người sử dụng để kích hoạt hoặc vô hiệu hóa việc gửi và Từ thông tin Referer.

Nhiều công cụ bảo mật trực tuyến mangle giá trị này và nhiều trình duyệt như FireFox đã từ lâu cho phép người dùng ngăn tiêu đề này được gửi. Vì vậy, trong một nutshell, tôi sẽ không dựa vào nó cho bất kỳ mục đích nghiêm trọng. Ví dụ: bảo mật biểu mẫu để người gửi spam không thể đăng giá trị vì có thể giả mạo Referer.

Để biết thêm đọc see:

Using referer field for authentication or authorization (WayBackMachine)

+0

Đồng ý referer là không đáng tin cậy và nó không an toàn, nhưng tôi tin tưởng nó không công việc của mình khá tốt trong việc giảm thư rác. –

+0

Liên kết cuối cùng đã chết. – danrah

+1

@danrah - cố định. Nhưng nếu bạn tìm thấy các liên kết chết, sau đó có một cái nhìn và xem họ đang trên WayBackMachine (http://archive.org) và sau đó chỉ cần cập nhật các bài viết với bản sao lưu trữ mới nhất của trang. – Kev

Các vấn đề liên quan