Maison > développement back-end > tutoriel php > Pourquoi ma variable PHP $_SERVER[\'HTTP_REFERER\'] est-elle manquante et quelles sont les alternatives ?

Pourquoi ma variable PHP $_SERVER[\'HTTP_REFERER\'] est-elle manquante et quelles sont les alternatives ?

Barbara Streisand
Libérer: 2024-11-23 06:32:13
original
653 Les gens l'ont consulté

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

Variable "HTTP_REFERER" manquante en PHP

En PHP, la variable $_SERVER['HTTP_REFERER'] est utilisée pour accéder à l'URL de la page qui renvoie à la page actuelle. Cependant, certains développeurs peuvent rencontrer l'erreur "Avis : Index non défini : HTTP_REFERER".

Cette erreur se produit car, selon la documentation PHP, la variable HTTP_REFERER n'est pas toujours disponible. Il est défini par l'agent utilisateur (par exemple, le navigateur) et peut être modifié par l'utilisateur. De plus, tous les agents utilisateurs ne fourniront pas ces informations.

Comprendre la variable HTTP_REFERER

La variable HTTP_REFERER est un en-tête de requête HTTP qui indique l'URL de la page qui a fait référence l'utilisateur à la page actuelle. Ces informations sont utiles de diverses manières, telles que :

  • Suivi du comportement des utilisateurs et du flux de trafic du site Web
  • Détection des demandes malveillantes ou de spam
  • Prévention de la falsification de demandes intersites (CSRF)

Alternative aux HTTP_REFERER

Étant donné que HTTP_REFERER n'est pas entièrement fiable et peut ne pas être disponible, une approche alternative consiste à utiliser la méthode getDocumentReferrer() dans l'objet window de JavaScript. Cette méthode renvoie l'URL de la page liée à la page actuelle et est plus fiable que HTTP_REFERER.

Exemple

const referrer = document.referrer;
Copier après la connexion

Cependant, il est important de noter que cette méthode peut ne pas fonctionner dans tous les navigateurs et peut également être modifiée par l'utilisateur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal