Maison > développement back-end > tutoriel php > Comment puis-je empêcher l'accès direct aux fichiers PHP inclus ?

Comment puis-je empêcher l'accès direct aux fichiers PHP inclus ?

DDD
Libérer: 2025-01-01 09:11:15
original
366 Les gens l'ont consulté

How Can I Prevent Direct Access to Included PHP Files?

Empêcher l'accès direct aux fichiers en PHP

Dans le monde du développement Web, il est essentiel de contrôler l'accès aux fichiers sensibles, en particulier ceux destinés uniquement pour inclusion dans d’autres scripts. Un problème courant survient lorsque ces fichiers sont accessibles directement via l'URL, ce qui entraîne des failles de sécurité potentielles.

Pour répondre à ce problème, PHP propose une solution simple qui vous permet de restreindre l'accès direct aux fichiers inclus. En mettant en œuvre une simple vérification conditionnelle, vous pouvez dissuader les tentatives non autorisées d'exécuter directement ces fichiers.

Pour mettre en œuvre efficacement cette protection, suivez ces étapes :

1. Vérifiez la source du référent

Ouvrez le fichier PHP que vous avez l'intention d'utiliser exclusivement comme inclusion. Ajoutez le code suivant au début du fichier :

if (!isset($_SERVER['HTTP_REFERER'])) {
    die('Direct access not permitted');
}

$current_url = $_SERVER['HTTP_REFERER'];
$allowed_url = 'https://example.com/page_that_includes_this_file.php';

if ($current_url != $allowed_url) {
    die('Direct access not permitted');
}
Copier après la connexion

2. Définir une constante

Dans le fichier PHP qui inclut le fichier protégé, ajoutez le code suivant au début :

define('MY_CONSTANT', TRUE);
Copier après la connexion

Explication :

Le premier morceau de code vérifie si la requête provient de l'URL de référence attendue (dans ce cas, la page qui doit inclure le fichier). Si le référent n'est pas défini ou ne correspond pas à l'URL autorisée, il génère un message d'erreur.

La partie suivante du code définit une constante nommée "MY_CONSTANT" dans le fichier d'inclusion. Sur les pages qui l'incluent, vous définissez cette constante sur TRUE, garantissant que la page peut accéder légitimement au fichier.

En implémentant ce mécanisme, vous pouvez efficacement empêcher l'accès direct au fichier d'inclusion, garantissant ainsi son intégrité et empêcher une exécution non autorisée.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal