Yönlendiren bazı durumlarda HTTPS'den HTTP'ye aktarılıyor… Nasıl?


17

Teoride tarayıcılar, HTTPS'den HTTP sitelerine başvuru bilgilerini aktarmaz. Benim tecrübelerime göre bu her zaman doğrudur. Ama ben sadece bir istisna buldum ve neden işe yaradığını anlamak istiyorum.

Https://www.google.ca/ adresinde "yönlendiren nedir" ifadesini arayın,
örneğin: https://www.google.ca/search?q=what+is+my+referer

Yönlendireni gösterecek birkaç site var. Hepsi yapmamaları durumunda "çalışıyor" gibi görünüyor. Örneğin, www.whatismyreferer.com adresini tıklayın. Alırım:

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

Bazen, nadiren, sonuç olarak "referans yok" aldığımı unutmayın. Geri dönün ve bağlantıyı tekrar tıklayın, bir dahaki sefere "çalışacaktır".

Bu olmamalı. www.whatismyreferer.com HTTPS olmayan bir sitedir. Yönlendirme üstbilgisi geçirilmemeli, ancak geçmelidir.

Burada neler oluyor ve HTTPS sitemden bağlandığım HTTP sitelerine aynı şeyi nasıl yapabilirim?


1
Windows'ta Chrome'u kullandığımı fark etmeliyim, bu herhangi bir fark
yaratırsa

Bu davranış artık doğru değil.
15'te Flimm

@ravisorg, Bunun yerine S / O gönderilmemeli mi?
Pacerier

Google şimdi bir HTTPS bağlantısı döndürüyor, bu yüzden test artık geçerli değil :-(
Silas S. Brown

Yanıtlar:



4

Standart davranış budur.

https://tools.ietf.org/html/rfc2616#section-15.1.3 diyor

İstemciler, yönlendiren sayfa güvenli bir protokolle aktarıldıysa (güvenli olmayan) bir HTTP isteğine bir Yönlendirme başlığı alanı İÇERMEMELİDİR.

yani müşteriniz bunu yapıyorsa, standardı ihlal ediyor demektir.

sonra tekrar, google standart IS ve istediklerini yapabilirler :-)


1
"Olmalıdır" isteğe bağlı değil mi?
Pacerier

evet, öyle düşünürüm, isteğe bağlı.
johnshen64

4
İsteğe bağlı olduğundan, neden standardı ihlal ettiğini söylüyorsunuz?
Pacerier

1
Şimdiye kadar 2616 kullanılmıyor. 7231 Kısım 5.5.2 , "Yönlendirme sayfası güvenli bir protokolle alındıysa, bir kullanıcı aracısı güvenli olmayan bir HTTP isteğinde bir Yönlendirme başlığı alanı GÖNDERMEMELİDİR." Yine de güvenli HTTP istekleri için hangi aracıların yapması gerektiğini belirtmez.
Peter

1

Bu, google sayfasındaki javascript'in yaptığı bir şey gibi görünüyor. Firefox'ta noscript etkin olarak görmüyorum ve javascript'i devre dışı bırakırsam Windows'ta Chrome'da görmeyi bırakıyorum. Bundan daha derin kazmadığım için özellikle ne olduğunu bilmiyorum.


Hayır, javascript ile ilgili değil (Bunu düşündüm ve sormadan önce kontrol ettim). Görünüşe göre Chrome'un izlediği yeni bir <meta> etiketi.
ravisorg

Javascript'i devre dışı bırakmak, yönlendirenin burada çalışmasını güvenilir bir şekilde önler. Bilmiyorum. Belki burada birden fazla şey söz konusudur.
Etan Reisner

Bu çok ilginç - bununla daha fazla deney yapacağım. Geri dönüşünüz için teşekkür ederiz!
ravisorg

0

<meta> Label'in öznitelik adında, bu belgeden gönderilen tüm isteklere eklenen HTTP Referer HTTP üstbilgisinin içeriğini denetleyen Yönlendiren yeni yönlendirme kuralları vardır.

Daha fazla bilgi için lütfen buraya bakın: RFC Yönlendiren Politikası


Bu zaten kabul edilmiş cevapla aynı mı ?!
DocRoot

-2

Bunun nedeni, bağlantıyı tıkladığınızda https://www.google .... 'den http://www.google ...' a yönlendirilmenizdir, o zaman www.whatismyreferer.com adresine yönlendirilirsiniz.

Dediğiniz gibi, http web sitesi arasında yönlendiren iletilir.

Bunu bir Firefox uzantısıyla kontrol edebilirsiniz


2
Tahmin ediyor musunuz, yoksa bunu esas alıyor musunuz? Çünkü bunun benim başıma geldiğini görmüyorum. Bağlantıyı tıkladığınızda, google.ca üzerinde bir HTTPS yönlendirmesine ve ardından da son alana yönlendirilirsiniz. Www.whatismyreferer.com adresine ulaşana kadar https olmayan bir URL'ye asla vurmam. Yönlendirenin http değil, özellikle httpS://www.google.ca yazdığını da unutmayın .
ravisorg

Evet, bu cevap yanlış gibi görünüyor.
ceejayoz

İşte http başlıklarının dökümü: pastebin.com/Y1HJyJ87 Sadece kaynak indirme (google önermek ve diğer ajax şeyler gibi) ve çerezler ile ilgili veriler elimden. Ama itiraf etmeliyim ki, birçok kez denediğimde, google farklı davrandı ... Bazen sadece https kullanarak, bu nedenle web sitesinin bana referansımı göstermesine izin vermiyor. Sadece kendiniz deneyin
user2299634
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.