Maison >développement back-end >tutoriel php >Comment empêcher l'accès direct aux fichiers appelés par Ajax ?

Comment empêcher l'accès direct aux fichiers appelés par Ajax ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-13 00:42:02851parcourir

How to Prevent Direct Access to Files Called by Ajax?

Comment restreindre l'accès direct aux fichiers appelés par Ajax

Lors de l'utilisation d'Ajax pour appeler du code PHP, comme illustré dans la requête, les données transmis peuvent être vulnérables à l’exposition lors de l’examen des en-têtes de requête. Même si les données ne sont pas confidentielles, leur potentiel d'exploitation demeure.

Pour répondre à ce problème, une solution courante consiste à utiliser l'en-tête HTTP_X_REQUESTED_WITH. Cet en-tête, généralement défini par les requêtes/frameworks Ajax, permet de différencier les requêtes Ajax et non-Ajax. L'extrait de code suivant présente son implémentation :

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) {
    // Allow access within Ajax requests
} else {
    // Block access outside of Ajax requests
}

Dans le code Javascript, vous pouvez définir cet en-tête manuellement :

var xhrobj = new XMLHttpRequest();
xhrobj.setRequestHeader("X-Requested-With", "XMLHttpRequest");

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