Referrer ändern
Eckhart Wörner
- php
Hallo,
ich habe eine Seite, auf der Session-IDs in der URL mit übertragen werden.
Andererseits habe ich auch Links auf andere Seiten, auf die ich keinen Einfluss habe.
Ich möchte nun den Referrer "löschen", indem ich eine Zwischenseite aufrufe.
Leider funktioniert ein Redirect mittels header("Location:$url") nicht wirklich, als Referrer wird weiterhin die alte URL angezeigt.
Gruß, Eckhart
Hello,
Leider funktioniert ein Redirect mittels header("Location:$url") nicht wirklich, als Referrer wird weiterhin die alte URL angezeigt.
Und was ist, wenn Du
header("Location: $url");
header("Referrer: $ref");
schreibst?
Liebe Grüße aus http://www.braunschweig.de
Tom
Leider funktioniert ein Redirect mittels header("Location:$url") nicht wirklich, als Referrer wird weiterhin die alte URL angezeigt.
Und was ist, wenn Du
header("Location: $url");
header("Referrer: $ref");
Leider nein.
Gruß, Eckhart
Hello,
Leider funktioniert ein Redirect mittels header("Location:$url") nicht wirklich, als Referrer wird weiterhin die alte URL angezeigt.
Und was ist, wenn Du
header("Location: $url");
header("Referrer: $ref");Leider nein.
Es müsste die URL angezeigt wrden, von der aus der Redirekt vom Client abgeschickt wird. Denn die Seite erzeugt den Request, so als würdest Du auf einen Link klicken. Ist eigentlich ein gutes Zeugnis für den Client, wenn es nicht geht. Du müsstest einen doppelten Redirect bauen. das müsste gehen.
Liebe Grüße aus http://www.braunschweig.de
Tom
Moin!
header("Location: $url");
header("Referrer: $ref");Leider nein.
Es müsste die URL angezeigt wrden, von der aus der Redirekt vom Client abgeschickt wird. Denn die Seite erzeugt den Request, so als würdest Du auf einen Link klicken. Ist eigentlich ein gutes Zeugnis für den Client, wenn es nicht geht. Du müsstest einen doppelten Redirect bauen. das müsste gehen.
Mal abgesehen davon, dass man serverseitig den Referrer sowieso nicht setzen kann: Ein Redirect ist hier vollkommen falsch.
Ein Redirect bewirkt, dass der Client seinen Request wiederholt - diesmal an die im Redirect angegebene URL.
Und da werden logischerweise sämtlichen Header, die man als Client erlaubterweise mitsenden darf, auch mitgesendet (Cookies und HTTP-Authentifizierung beispielsweise nicht - den Referer schon).
Es hilft also nix, zwei oder auch hundertmal weiterzuleiten (es gibt ein empfohlenes Maximum, welches IIRC bei 15 Weiterleitungen für einen Request liegt - das ist aber auch schon verdammt viel) - die Lösung muß zwingend darin bestehen, eine neutrale "echte" HTML-Seite auszuliefern, auf der dann ein Meta-Refresh stattfindet. Erst dann wird der Client den Referrer dieser Zwischenseite ausliefern.
Die Alternative wäre, auf Session-IDs in der URL zu verzichten und zwingend Cookies vorzuschreiben. Dann hätte man das Referrer-Problem ebenfalls nicht.
- Sven Rautenberg
Moin,
Und was ist, wenn Du
header("Location: $url");
header("Referrer: $ref");schreibst?
Öh, hu? Referer (da sind insgesamt nur 2 'r's drin!) ist ein Request-Header, kein Response-Header. Was soll das?
Hello,
Moin,
Und was ist, wenn Du
header("Location: $url");
header("Referrer: $ref");schreibst?
Öh, hu? Referer (da sind insgesamt nur 2 'r's drin!) ist ein Request-Header, kein Response-Header. Was soll das?
Ach ja, das außerdem. Aber probiern kann man das ja mal, ob der Browser kotzt oder es schluckt ;-)
Wer schreibt denn refer(r)er nun mit zwei r in der Mitte? War das PHP oder war das HTTP? Einer von beiden schreibt es falsch.
Liebe Grüße aus http://www.braunschweig.de
Tom
Moin,
Wer schreibt denn refer(r)er nun mit zwei r in der Mitte? War das PHP oder war das HTTP? Einer von beiden schreibt es falsch.
Referer wird im HTTP-Kontext immer falsch (d.h. mit nur einem r in der Mitte) geschrieben. Das ist ein Fipptehler (nehme ich an) der sich von den ersten Spezifikationen an durchzieht. Jetzt kann man das auch schlecht ändern.
Hi,
Referer wird im HTTP-Kontext immer falsch (d.h. mit nur einem r in der Mitte) geschrieben. Das ist ein Fipptehler (nehme ich an)
Beide Schreibweisen sind korrekt.
Man kann ja auch color oder colour schreiben, oder Router wie "Ruhter" oder "Rauter" aussprechen ... ;-)
Gruß, Cybaer
Hello,
Referer wird im HTTP-Kontext immer falsch (d.h. mit nur einem r in der Mitte) geschrieben. Das ist ein Fipptehler (nehme ich an)
Beide Schreibweisen sind korrekt.
Man kann ja auch color oder colour schreiben, oder Router wie "Ruhter" oder "Rauter" aussprechen ... ;-)
Jein. Wenn aber nicht beide Scheibweisen erkannt werden vom Programm, dann nützt uns das nix...
Liebe Grüße aus http://www.braunschweig.de
Tom
Hi,
Referer wird im HTTP-Kontext immer falsch (d.h. mit nur einem r in der Mitte) geschrieben. Das ist ein Fipptehler (nehme ich an)
Beide Schreibweisen sind korrekt.
Man kann ja auch color oder colour schreiben, oder Router wie "Ruhter" oder "Rauter" aussprechen ... ;-)
Bei color und colour handelt es sich um einen der vielen Unterschiede zwischen amerikanischem und britischem Englisch.
referrer wird jedoch (außer bei HTTP) immer mit 4 r geschrieben.
Einfach mal nach "referer dictionary" googlen ("referer" alleine gibt haufenweise Ergebnisse im http-Zusammenhang)
http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?query=referer&action=Search
http://dict.leo.org/?search=referer
usw.
cu,
Andreas
Hi,
Bei color und colour handelt es sich um einen der vielen Unterschiede zwischen amerikanischem und britischem Englisch.
Wer hätte das gedacht ... ;-)
Einfach mal nach "referer dictionary" googlen ("referer" alleine gibt haufenweise Ergebnisse im http-Zusammenhang)
Und ich habe eines, da stehen beide Varianten drin. Und nun? ;-)
Gruß, Cybaer
Hi,
Referer (da sind insgesamt nur 2 'r's drin!)
Welche Variante ist denn dann im HTTP-Umfeld richtig?
Refere
Refeer
eferer
Oder doch die mit
1 2 3 r ;-)
referer
cu,
Andreas
Moin,
Referer (da sind insgesamt nur 2 'r's drin!)
Welche Variante ist denn dann im HTTP-Umfeld richtig?
Na die mit 2 'r's und einem 'R' natürlich. Menno, du kannst fragen stellen.
Hallo!
ich habe eine Seite, auf der Session-IDs in der URL mit übertragen werden.
Andererseits habe ich auch Links auf andere Seiten, auf die ich keinen Einfluss habe.
Ich möchte nun den Referrer "löschen", indem ich eine Zwischenseite aufrufe.
Leider funktioniert ein Redirect mittels header("Location:$url") nicht wirklich, als Referrer wird weiterhin die alte URL angezeigt.
Ich glaube das funktioniert nur mit client-seitigen Techniken, also Du öffnest eine Zwischenseite (an die am besten keine Session-ID angehängt sein sollte), und verwendest dort meta-refresh um auf die gewünschte Seite zu gelangen. So macht das z.B. web.de. Ob das allerdings bei allen Clients funktioniert weiß ich leider nicht.
Bei SSL wird bei externen Links eh kein Referer gesendet - sollte zumindest so sein.
100% sicher gehen kannst Du nur wenn Du den HTTP-Verkehr der CLients über einen eigenen Proxy lenken kannst, da Du hier die volle Kontrolle über die Header erhälst.
Grüße
Andreas