Người giới thiệu được chuyển từ HTTPS sang HTTP trong một số trường hợp như thế nào?


17

Về lý thuyết, các trình duyệt không chuyển thông tin tham chiếu từ HTTPS sang các trang HTTP. Và theo kinh nghiệm của tôi thì điều này luôn đúng. Nhưng tôi chỉ tìm thấy một ngoại lệ, và tôi muốn hiểu tại sao nó hoạt động để tôi cũng có thể sử dụng nó.

Tìm kiếm "người giới thiệu của tôi là gì" trên https://www.google.ca/,
vd: https://www.google.ca/search?q=what+is+my+referer

Có một vài trang web sẽ hiển thị người giới thiệu. Tất cả họ dường như "làm việc" khi họ không nên. Ví dụ: nhấp vào www.whatismyreferer.com. Tôi có:

 Your referer:
 https://www.google.ca/

Lưu ý rằng đôi khi, hiếm khi, tôi nhận được kết quả là "không có người giới thiệu". Quay lại và nhấp vào liên kết một lần nữa và nó sẽ "hoạt động" vào lần tiếp theo.

Điều này không nên xảy ra. www.whatismyreferer.com là một trang web không phải HTTPS. Tiêu đề người giới thiệu không nên được thông qua, nhưng nó là.

Chuyện gì đang xảy ra ở đây và làm cách nào tôi có thể làm điều tương tự từ trang web HTTPS của tôi đến các trang web HTTP mà tôi đang liên kết?


1
Tôi nên lưu ý rằng tôi đang sử dụng Chrome trên Windows, nếu điều đó tạo ra sự khác biệt (ví dụ: nếu người khác đang thấy kết quả khác nhau trên các trình duyệt / HĐH khác nhau)
ravisorg

Hành vi này không còn đúng nữa.
Flimm

@ravisorg, không nên đăng cái này lên S / O chứ?
Pacerier

Google hiện trả về một liên kết HTTPS, do đó, bài kiểm tra không còn hiệu lực :-(
Silas S. Brown

Câu trả lời:



4

Đây là hành vi tiêu chuẩn.

https://tools.ietf.org/html/rfc2616#section-15.1.3 nói

Khách hàng KHÔNG NÊN bao gồm trường tiêu đề Người giới thiệu trong yêu cầu HTTP (không bảo mật) nếu trang giới thiệu được chuyển với giao thức bảo mật.

Vì vậy, nếu khách hàng của bạn đang làm điều đó, nó đang vi phạm tiêu chuẩn.

sau đó, một lần nữa, google là tiêu chuẩn và họ có thể làm bất cứ điều gì họ muốn :-)


1
"Nên" có nghĩa là tùy chọn phải không?
Pacerier

Vâng, tôi sẽ nghĩ như vậy, tùy chọn.
johnshen64

4
Vì nó là tùy chọn, tại sao bạn nói rằng nó vi phạm tiêu chuẩn?
Pacerier

1
Đến bây giờ 2616 đã lỗi thời. 7231 Mục 5.5.2 nói "Tác nhân người dùng KHÔNG ĐƯỢC gửi trường tiêu đề Người giới thiệu trong yêu cầu HTTP không bảo mật nếu trang giới thiệu được nhận với giao thức bảo mật." Nó không chỉ định các tác nhân nào phải làm cho các yêu cầu HTTP được bảo mật mặc dù.
Peter

1

Điều này dường như là một cái gì đó mà javascript trên trang google đang làm. Tôi không thấy nó trong firefox với tính năng noscript được kích hoạt và ngừng nhìn thấy nó trong Chrome trên Windows nếu tôi tắt javascript. Tôi không biết cụ thể là gì khi tôi chưa đào sâu hơn thế.


Không, nó không liên quan đến javascript (tôi nghĩ về điều đó và kiểm tra nó trước khi hỏi). Có vẻ như đó là thẻ <meta> mới mà Chrome đang theo dõi.
ravisorg

Vô hiệu hóa javascript đáng tin cậy ngăn người giới thiệu làm việc ở đây. Tôi không biết. Có lẽ nhiều hơn một điều có liên quan ở đây.
Etan Reisner

Điều đó rất thú vị - Tôi sẽ thử nghiệm nhiều hơn với điều đó. Cảm ơn vì bạn đã phản hồi!
ravisorg

0

<meta> Tên thuộc tính của Nhãn có quy tắc tham chiếu mới, Người giới thiệu kiểm soát nội dung của tiêu đề HTTP Người giới thiệu HTTP được đính kèm với bất kỳ yêu cầu nào được gửi từ tài liệu này.

Để biết thêm thông tin xin vui lòng kiểm tra tại đây: Chính sách giới thiệu RFC


Điều này giống như câu trả lời đã được chấp nhận?!
DocRoot

-2

Đó là bởi vì khi bạn nhấp vào liên kết, bạn được chuyển hướng từ https://www.google .... đến http://www.google ... sau đó bạn được chuyển hướng đến www.whatismyreferer.com

Và như bạn đã nói, giữa trang web http, người giới thiệu được truyền đi.

Bạn có thể kiểm tra xem với tiện ích mở rộng Firefox


2
Bạn đang đoán, hoặc bạn đang dựa trên thực tế? Bởi vì tôi không thấy điều đó xảy ra vào cuối của tôi. Nhấp vào liên kết sẽ đưa bạn đến một chuyển hướng HTTPS trên google.ca và sau đó vào miền kết thúc. Tôi không bao giờ nhấn URL không https cho đến khi tôi truy cập (ví dụ) www.whatismyreferer.com. Cũng lưu ý rằng người giới thiệu nêu cụ thể httpS://www.google.ca , không phải http.
ravisorg

Vâng, câu trả lời này dường như không chính xác.
ceejayoz

Đây là kết xuất của các tiêu đề http: pastebin.com/Y1HJyJ87 Tôi vừa tước tài nguyên tải xuống (như đề xuất của google và các công cụ ajax khác) và các dữ liệu liên quan đến cookie. Nhưng tôi phải thừa nhận rằng khi tôi đã thử nhiều lần, google đã hành xử khác đi ... Đôi khi chỉ sử dụng https, do đó không cho phép trang web hiển thị cho tôi người giới thiệu của tôi. Chỉ cần tự mình thử
user2299634
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.