Alternative zum Header "Referer"

8

Ich habe den Code "request.getHeader (" Referer ") verwendet;" Der Code schien gut zu funktionieren. Aber kürzlich habe ich herausgefunden, dass es im IE nicht funktioniert. IE warf null. Ich bin jetzt ratlos darüber, wie ich vorwärts gehen soll. Gibt es eine Alternative für "Referer" -Header, die den vorherigen Link erhalten und in allen Browsern korrekt funktionieren? Das Festlegen eines benutzerdefinierten Headers aus dem vorherigen Link ist für mich keine praktikable Option. Also, bitte hilf mir dabei. Danke.

    
Ebbu Abraham 23.08.2010, 09:08
quelle

2 Antworten

10

Der Headereintrag "Referer" ist optional. Du kannst dich nicht darauf verlassen, dass es da ist. Es gibt keinen browserübergreifenden Weg, den vorherigen Link zu erhalten, da dies von den Benutzereinstellungen und der Proxy-Konfiguration abhängt (d. H. Was die Systemadministratoren nach Ihrer Meinung sehen sollten).

Sie müssen einen Weg finden, ohne diese Information zu leben.

    
Aaron Digulla 23.08.2010, 09:12
quelle
7

Es ist unklar, wofür Sie es brauchen, aber ich vermute, dass Sie es brauchen, um zu einer "ersten Seite" auf der gleichen Website zurückzukehren, wenn eine Aktion beendet ist. Ihre beste Option ist dann, den Anforderungs-URI als Anforderungsparameter zu übergeben. Z.B. ein Login-Link:

%Vor%

Behalten Sie es im Anmeldeformular für die nächste Anfrage als versteckter Eingabewert des Formulars bei:

%Vor%

Leiten Sie in der Login-Aktionsmethode einfach nach Abschluss der Aktion zu dieser URL um.

%Vor%

Wenn Sie nicht danach suchen, sollten Sie Ihre Frage eher auf die Frage konzentrieren, wie Sie eine funktionale Anforderung erfüllen können, anstatt zu fragen, wie Sie eine (falsche) Lösung erreichen können.

Es war von Anfang an wirklich eine schlechte Idee, irgendeinen Geschäftslogikfluss auf den Referer zu setzen. Ihre erste Webentwickler-Lektion hätte sein sollen: Der Endbenutzer hat volle Kontrolle darüber, was er / sie mit der HTTP-Anfrage sendet. Sie sollten sich nicht darauf verlassen, dass all diese Informationen vorhanden sind, geschweige denn zu 100% korrekt.

    
BalusC 23.08.2010 11:52
quelle

Tags und Links