WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Sätta Referer-header? (https://www.wn.se/forum/showthread.php?t=14964)

dlinder 2006-07-05 18:54

Har försökt sätta Referer-headern när jag redirectar trafik. Provade detta:

<?php
header("Referer: http://www.set-adress.com");
header("Location: http://www.new-location.com");
?>

Redirecten fungerar ju, men Referer-headern är tom fortfarande. Någon som har ett förslag på alternativt sätt? Har sett lösningar med CURL, men det stöds in hos Loopia.

kullervo 2006-07-05 19:03

Servern kan inte sätta referer-headern.

dlinder 2006-07-05 19:58

Aha, det låter ju iofs logiskt eftersom det sköts av browsern...

Men här presenteras ju ett sätt iaf:

http://www.mustap.com/phpzone_post_6...the-referer-se

Dock i sammanhanget POST vilket ju inte är aktuellt här. Går det att "översätta" till vanligt sidanrop?


EDIT: Äsch, länken vill inte bli länk trots att jag använder länkknappen... får bli cut&paste.

kullervo 2006-07-05 22:36

Kollade aldrig på länken men här är relevant avsnitt RFC:n för HTTP:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html Kolla på rubrik "14.36 Referer"

jonny 2006-07-06 01:30

Att den är tom brukar bero på någon form av brandvägg eller liknande som "skyddar" den informationen.

Blackex 2006-07-06 08:32

Om du redirectar så följer den ursprungliga referen med, om det finns något.

Genom att sätta en META refresh, så förloras den ursprungliga referen. Men du kan inte sätta vilken referer som du vill. Referern kommer då istället att bli den sida som gör refresh.

Du kan också göra en JavaScript redirect. En del browsers (kommer inte ihåg vilka på rak arm) skickar då med en blank referer.

dlinder 2006-07-06 12:18

Citat:

Originally posted by Blackex@Jul 6 2006, 08:32
Genom att sätta en META refresh, så förloras den ursprungliga referen. Men du kan inte sätta vilken referer som du vill. Referern kommer då istället att bli den sida som gör refresh.
Är det så alltså? Provade faktiskt det, men fick det inte att fungera. Får göra ett nytt försök!

dlinder 2006-07-06 12:22

Citat:

Originally posted by kullervo@Jul 5 2006, 22:36
Kollade aldrig på länken men här är relevant avsnitt RFC:n för HTTP:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html Kolla på rubrik "14.36 Referer"

Jo du har ju rätt. Men likväl går det ju uppenbarligen att komma runt, t ex med cURL.

WizKid 2006-07-06 14:23

Citat:

Ursprungligen postat av dlinder
Citat:

Ursprungligen postat av kullervo
Kollade aldrig på länken men här är relevant avsnitt RFC:n för HTTP:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html Kolla på rubrik "14.36 Referer"

Jo du har ju rätt. Men likväl går det ju uppenbarligen att komma runt, t ex med cURL.

Men cURL och att skicka besökaren vidare är det stor skillnad på. När servern hämtar ner en sidan via cURL eller tex fopen så kan du självklart sätta Referer. Däremot om du ska skicka vidare en besökare med header() eller liknande så kan du inte sätta Referer. Detta eftersom det är webbläsaren som sätter Referer-headern och den tillåter inte att servern ändrar på den.

Blackex 2006-07-06 14:34

Ett tips till dlinder, för att kolla vilka headers som sätts, är att göra en sida som endast innehåller

Kod:

<?php phpinfo() ?>
Gör dina redirects till den sidan. Där kan du läsa av alla headers som skickas (plus en massa annat).


Alla tider är GMT +2. Klockan är nu 00:10.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson