Heim >Backend-Entwicklung >PHP-Tutorial >Warum fehlt meine PHP-Variable $_SERVER[\'HTTP_REFERER\'] und welche Alternativen gibt es?

Warum fehlt meine PHP-Variable $_SERVER[\'HTTP_REFERER\'] und welche Alternativen gibt es?

Barbara Streisand
Barbara StreisandOriginal
2024-11-23 06:32:13683Durchsuche

Why is My PHP $_SERVER['HTTP_REFERER'] Variable Missing and What Are the Alternatives?

Variable „HTTP_REFERER“ fehlt in PHP

In PHP wird die Variable $_SERVER['HTTP_REFERER'] verwendet, um auf die URL von zuzugreifen die Seite, die auf die aktuelle Seite verlinkt ist. Bei einigen Entwicklern kann jedoch der Fehler „Hinweis: Undefinierter Index: HTTP_REFERER“ auftreten.

Dieser Fehler tritt auf, weil laut PHP-Dokumentation die Variable HTTP_REFERER nicht immer verfügbar ist. Es wird vom Benutzeragenten (z. B. Browser) festgelegt und kann vom Benutzer geändert werden. Darüber hinaus stellen nicht alle Benutzeragenten diese Informationen bereit.

Verstehen der HTTP_REFERER-Variable

Die HTTP_REFERER-Variable ist ein HTTP-Anforderungsheader, der die URL der Seite angibt, die verwiesen hat leitet den Benutzer zur aktuellen Seite weiter. Diese Informationen sind auf verschiedene Weise nützlich, z. B.:

  • Verfolgen des Benutzerverhaltens und des Website-Verkehrsflusses
  • Erkennen bösartiger oder Spam-Anfragen
  • Verhindern der Fälschung standortübergreifender Anfragen (CSRF)-Angriffe

Alternative zu HTTP_REFERER

Da HTTP_REFERER nicht vollständig vertrauenswürdig und möglicherweise nicht verfügbar ist, besteht ein alternativer Ansatz darin, die Methode getDocumentReferrer() im Fensterobjekt von JavaScript zu verwenden. Diese Methode gibt die URL der Seite zurück, die auf die aktuelle Seite verlinkt hat, und ist zuverlässiger als HTTP_REFERER.

Beispiel

const referrer = document.referrer;

Es ist jedoch wichtig, dies zu beachten Diese Methode funktioniert möglicherweise nicht in allen Browsern und kann auch vom Benutzer geändert werden.

Das obige ist der detaillierte Inhalt vonWarum fehlt meine PHP-Variable $_SERVER[\'HTTP_REFERER\'] und welche Alternativen gibt es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn