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!