/ / Comment restreindre l'accès au répertoire sur le serveur, en utilisant la logique PHP? - php, .htaccess

Comment restreindre l'accès aux répertoires sur le serveur, en utilisant la logique PHP? - php, .htaccess

J'ai un répertoire sur mon serveur auquel je veux que le grand public n'ait pas accès. (Rien. Pas d'accès aux fichiers php, images, rien.)

Mais je veux permettre à certains utilisateurs d'accéder à cette zone restreinte en fonction d'une valeur booléenne dans mon php.

Existe-t-il un moyen d'utiliser PHP pour déterminer si un utilisateur peut ou non accéder à un répertoire, similaire au fichier htaccess mais avec une logique plus personnalisée?

Réponses:

0 pour la réponse № 1

L'un des moyens les plus simples consiste à rediriger les utilisateurs restreints vers votre page d'accueil.

<?php
header( "Location: http://www.yoursite.com" ) ;
exit;
?>

Vous pouvez autoriser l'accès à des utilisateurs spécifiques en définissant une valeur booléenne dans votre base de données.

La solution ci-dessous fonctionnera en fonction de votre emplacement de stockage de fichiers.

$file = "/file.png"; // set your file location
$userAccess = false;
if (file_exists($file) && $userAccess) {
header("Content-Description: File Transfer");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=your_file.png");
header("Content-Transfer-Encoding: binary");
header("Expires: 0");
header("Cache-Control: must-revalidate");
header("Pragma: public");
header("Content-Length: " . filesize($file));
ob_clean();
flush();
readfile($file);
}

Vérifie ça lien aussi.

J'espère que ça vous aidera :)


0 pour la réponse № 2

J'ai donc finalement trouvé une réponse ailleurs et cela implique de configurer un fichier PHP comme une sorte de proxy en conjonction avec htaccess - http://simpletek.raivo.id.lv/restrict-server-files-access-based-on-php-logic/