Comment empêcher l'accès direct aux fichiers accessibles via AJAX en PHP ?

Susan Sarandon
Libérer: 2024-11-12 00:36:03
original
748 Les gens l'ont consulté

How to Prevent Direct Access to Files Accessed via AJAX in PHP?

Empêcher l'accès direct aux fichiers accessibles via AJAX

Lors de l'accès à un fichier PHP via une requête AJAX, telle que "func.php", l'accès direct à ce fichier peut constituer un problème de sécurité. Pour résoudre ce problème, il est crucial de mettre en œuvre un mécanisme qui différencie les requêtes AJAX des tentatives d'accès direct.

Une solution efficace consiste à exploiter la variable serveur "HTTP_X_REQUESTED_WITH". La plupart des frameworks AJAX définissent cet en-tête sur "XMLHttpRequest", permettant ainsi de faire la distinction entre les véritables requêtes AJAX et l'accès direct au navigateur. Cette vérification d'en-tête peut être implémentée dans le fichier PHP comme suit :

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) {
    // Allow access...
} else {
    // Ignore or deny access...
}
Copier après la connexion

En implémentant cette vérification, vous pouvez vous assurer que seules les requêtes AJAX légitimes peuvent accéder au fichier spécifié, le protégeant ainsi d'un accès direct non autorisé.

De plus, pour une sécurité renforcée, vous pouvez définir manuellement l'en-tête "X-Requested-With" dans votre requête AJAX à l'aide du code JavaScript suivant :

var xhrobj = new XMLHttpRequest();
xhrobj.setRequestHeader("X-Requested-With", "XMLHttpRequest");
Copier après la connexion

Cette étape renforce encore la protection contre les attaques directes. accès aux fichiers.

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