"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment empêcher l'accès direct aux fichiers accessibles via AJAX en PHP ?

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

Publié le 2024-11-12
Parcourir:705

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 de 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 contre tout accès direct non autorisé.

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

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

Cette étape renforce encore la protection contre l'accès direct aux fichiers.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3