Maison > Article > développement back-end > Comment empêcher l'accès direct aux fichiers accessibles via AJAX en 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... }
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");
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!