Maison > Article > développement back-end > Comment puis-je identifier en toute sécurité les requêtes AJAX en PHP ?
Détection sécurisée des requêtes AJAX en PHP
Vérifier si une requête entrante est une requête AJAX est crucial pour le traitement côté serveur. Bien que des méthodes telles que les paramètres ou les en-têtes GET puissent être facilement exploitées, une approche plus sécurisée est disponible.
Solution : HTTP_X_REQUESTED_WITH Vérification de l'en-tête
L'en-tête HTTP_X_REQUESTED_WITH est un en-tête standard envoyé par requêtes AJAX. Cet en-tête est généralement défini sur « XMLHttpRequest » ou « xmlhttprequest ». En vérifiant cet en-tête, vous pouvez identifier de manière fiable les requêtes AJAX :
<code class="php">if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH'] ?? '') === 'xmlhttprequest') { // We can assume that the request was made with AJAX }</code>
Exemple d'utilisation
Considérez un script PHP, mypage.php :
<code class="php"><?php if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH'] ?? '') === 'xmlhttprequest') { // Process AJAX request } else { // Not an AJAX request } ?></code>
Ce script vérifie si l'en-tête HTTP_X_REQUESTED_WITH existe et est défini sur "XMLHttpRequest". Si tel est le cas, il suppose que la requête est une requête AJAX et procède à son traitement en conséquence. Sinon, il traite la requête comme une requête non-AJAX.
Avantages
Cette méthode est sécurisée car l'en-tête HTTP_X_REQUESTED_WITH est envoyé automatiquement par le navigateur pour les requêtes AJAX. Il ne peut pas être facilement falsifié par des attaquants. De plus, il est pris en charge par la plupart des navigateurs et plates-formes de serveur modernes.
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!