-
Sécurisé ses pages PHP
Bonjour à tous,
je souhaite mettre au point un "plan" de sécurité de mes pages web par session.
Voici le principe que je veux suivre :
-mes pages web sont accessibles via ce genre d'adresse : index.php?page=pages/membre/mapage
-je dispose d'un fichier nommé "include" qui vérifie en fonction des droits si oui ou non la page "pages/membre/mapage.php" peut être affichée.
-jusque là tout fonctionne, MAIS, lorsque je me rend directement à l'adresse pages/membre/mapage.php (sans passer par mon fichier d'inclusion), la page s'affiche alors que je pas qu'elle soit disponible.
En fait je m'efforce de suivre la logique dans laquelle mes pages protégées ne voyent pas intervenir de code (si session existe pas alors ne pas afficher...).
Je me demande donc s'il est possible de rendre accessible par le client uniquement la page "index.php", puis d'interdir l'accès direct aux autres pages (mais le rendre accessible par appel du serveur via mon ficheir include).
Je sais pas si s'est très clair, mais je suis dans le flou le plus total, merci de m'aider :)
-
Salut,
le plus simple a mon avis est de faire une redirection sur ta page index.php.
Au debut de tous tes fichiers du devrais faire un test pour voir si l'utilisateur
peut avoir acces à cette page sinon tu le redirige.
-
c'est possible, il suffit de mettre un fichier .htaccess dans le répertoire "pages" avec ça : cela aura pour effet d'empêcher la navigation en passant par le serveur HTTP Apache dans tous le répertoire. Et le code PHP pourra quand même faire un "include" puisqu'il a accès au fichier en passant directement par le disque et sans passer par le serveur
-
thank's !
Hey parfait merci beaucoup !
Voilà donc le résultat :
<FILES .htaccess>
order allow,deny
deny From all
</FILES>
<Files *.inc.php>
deny from all
</Files>
qui a pour effet d'interdire la lecture direct des fichiers .inc.php, mais qui autorise effectivement l'inclusion par php.
Merci les gens :)
ps : config obligatoire dans le httpd d'apache :
AllowOverride Limit