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

$_SERVER[\'HTTP_X_REQUESTED_WITH\'] est-il un moyen fiable de détecter les requêtes AJAX en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-27 22:03:11820parcourir

Is $_SERVER['HTTP_X_REQUESTED_WITH'] a Reliable Way to Detect AJAX Requests in PHP?

Controverse entourant $_SERVER['HTTP_X_REQUESTED_WITH'] en PHP

Bien que largement suggéré en ligne, y compris sur Stack Overflow, il est crucial d'aborder le débat sur l'existence de $_SERVER['HTTP_X_REQUESTED_WITH'] dans PHP.

Contrairement à la croyance populaire, cette variable n'est pas explicitement mentionnée dans la documentation officielle de PHP. De plus, les tentatives d'accès peuvent n'aboutir à aucune sortie, ce qui entraîne une confusion parmi les développeurs.

Clarification

Les variables dans $_SERVER ne sont pas inhérentes à PHP mais sont fournies par le serveur Web et transmis au langage de script. Plus précisément, l'en-tête X-Requested-With est ajouté par les fonctions Ajax dans divers frameworks. Cependant, sa présence n'est pas universellement cohérente.

Fiabilité en tant qu'indicateur AJAX

En raison d'incohérences potentielles, l'utilisation de $_SERVER['HTTP_X_REQUESTED_WITH'] pour déterminer si une requête est-ce qu'AJAX n'est pas fiable à 100%. Il est possible que l'en-tête soit absent même pour les requêtes Ajax légitimes.

Approche alternative

Pour garantir une identification précise des requêtes Ajax, il est recommandé de transmettre un indicateur prédéterminé ( par exemple, une variable GET) avec la requête. La page de réception doit alors vérifier la présence de ce drapeau. Cette méthode offre une solution plus fiable et sécurisée.

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