Maison >développement back-end >tutoriel php >$_SERVER[\'HTTP_X_REQUESTED_WITH\'] est-il une méthode fiable pour détecter les requêtes AJAX en PHP ?

$_SERVER[\'HTTP_X_REQUESTED_WITH\'] est-il une méthode fiable pour détecter les requêtes AJAX en PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-04 14:36:11577parcourir

Is $_SERVER['HTTP_X_REQUESTED_WITH'] a Reliable Method for Detecting AJAX Requests in PHP?

Vérification de l'existence de $_SERVER['HTTP_X_REQUESTED_WITH'] en PHP

Malgré des conseils largement diffusés en ligne, l'existence de $_SERVER[' HTTP_X_REQUESTED_WITH'] en PHP a été remis en question en raison de son absence dans le fichier officiel documentation. Explorons cet écart et déterminons sa validité.

Comprendre les variables $_SERVER

$_SERVER est un tableau d'informations fournies par le serveur Web au script PHP. Contrairement aux idées reçues, ces variables ne font pas directement partie de PHP mais sont plutôt préparées et passées par le serveur.

Présence de $_SERVER['HTTP_X_REQUESTED_WITH']

L'en-tête X-Requested-With est généralement envoyé par les fonctions Ajax dans divers frameworks. Cependant, il est important de noter que tous les frameworks n’incluent pas systématiquement cet en-tête. De plus, certains navigateurs peuvent l'omettre.

Fiabilité de la détection AJAX

Bien que la présence de $_SERVER['HTTP_X_REQUESTED_WITH'] indique souvent une requête Ajax, ce n'est pas le cas. une méthode 100% fiable. En effet, certaines requêtes non-Ajax peuvent également inclure cet en-tête et d'autres frameworks peuvent utiliser des méthodes alternatives pour signaler les requêtes Ajax.

Approche alternative pour la détection AJAX

Pour Pour garantir une identification précise des requêtes Ajax, une approche plus fiable consiste à envoyer un indicateur prédéfini (tel qu'une variable GET) avec la requête. La page de réception peut alors vérifier la présence de cet indicateur pour déterminer si la requête provient bien d'une source Ajax.

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!

Déclaration:
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