Comment puis-je identifier en toute sécurité les requêtes AJAX en PHP ?

Patricia Arquette
Libérer: 2024-11-05 19:56:02
original
658 Les gens l'ont consulté

How Can I Securely Identify AJAX Requests in 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>
Copier après la connexion

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>
Copier après la connexion

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!

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