Plutôt que de faire une gestion des sécurité par fichier je te conseil d'en faire une par dossier. L'avantage est que cela te permettra d'utiliser la gestion des droits via le fichier .htaccess de apache.
De plus, cette gestion est beaucoup plus robuste qu'un script .pl .php.
l'idée est que tu as un fichier .htaccess par dossier que tu crées et pour un dossier donné tu peux définir la liste des utilisteurs qui pourront y accéder.
Problème : avec htaccess et le directory listing activé, les utilisateurs peuvent voir des dossiers auquels ils n'ont pas accès mais lorsqu'ils cliquent dessus apache leur demande une identification. Pour éviter ce problème je te conseil ceci :
Solutions : Tu ajoutes la directive "DirectoryIndex /scripts/index.php"
Elle indique a apache qu'il doit charger ce fichier avant de tenter - si le fichier n'existe pas - de faire un Directory Listing.
Dans le fichier index.php tu feras un scripts qui
- récupère le repertoire courant (\site\)
- parcour chaque dossier et pour chaque dossier lit le fichier htaccess. Si l'utilisateur figure dans le htaccess le dossier sera affiché.
- parcour la liste des fichiers du dossier courant et les affiche.
Cela paraît compliqué mais il n'est est rien. Il faut juste un script qui te permet de gérer les permissions et un autre qui affiche les repertoires. En plus, tu t'évites la douloureuse gestion des accès qu'un pirate plus ou moins motivé cassera un jour ou l'autre.
Bonne journée.
Je trolle dès quand ça parle business, sécurité et sciences sociales
# proposition
Posté par passant·e . En réponse au journal Une bibliothèque de fichiers semi-publique ?. Évalué à 2.
De plus, cette gestion est beaucoup plus robuste qu'un script .pl .php.
l'idée est que tu as un fichier .htaccess par dossier que tu crées et pour un dossier donné tu peux définir la liste des utilisteurs qui pourront y accéder.
site\ (accès complet)
site\dossier_1 (accès complet)
site\dossier_2\dossier_1_1 (user_1, user_2, user_4)
site\dossier_2\dossier_1_2 (user_3)
site\dossier_2\dossier_1_3 (user_3, user_2)
Problème : avec htaccess et le directory listing activé, les utilisateurs peuvent voir des dossiers auquels ils n'ont pas accès mais lorsqu'ils cliquent dessus apache leur demande une identification. Pour éviter ce problème je te conseil ceci :
Solutions : Tu ajoutes la directive "DirectoryIndex /scripts/index.php"
Elle indique a apache qu'il doit charger ce fichier avant de tenter - si le fichier n'existe pas - de faire un Directory Listing.
Dans le fichier index.php tu feras un scripts qui
- récupère le repertoire courant (\site\)
- parcour chaque dossier et pour chaque dossier lit le fichier htaccess. Si l'utilisateur figure dans le htaccess le dossier sera affiché.
- parcour la liste des fichiers du dossier courant et les affiche.
Cela paraît compliqué mais il n'est est rien. Il faut juste un script qui te permet de gérer les permissions et un autre qui affiche les repertoires. En plus, tu t'évites la douloureuse gestion des accès qu'un pirate plus ou moins motivé cassera un jour ou l'autre.
Bonne journée.
Je trolle dès quand ça parle business, sécurité et sciences sociales