Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Protection page : session - .htaccess

2 réponses
Avatar
oam
Problème que je rencontre :

J'utilise un système de session pour m'authentifier.
Lorsque je me suis authentifié, j'accède à travers la commande php suivante
: header("Location: Prive/index.php)
au fichier index.php se trouvant dans le répertoire "Prive".
Ce repertoire, je l'ai protégé par le système .htaccess en y mettant "Deny
from all".
Jusque là, tout fonctionne bien.

Le fichier index.php contient des liens (ex. <a href="Prive/Chat.php">) vers
d'autres fichiers se trouvant eux aussi dans le répertoire Privé.

Lorsque je cliqe sur ces liens, l'accès m'est interdit par .htaccess !!!

Donc comment je peux faire pour protéger ce répertoire pour les accès
directs, mais en authorisant l'accès à travers des liens de mon site et mon
système de session.
(j'espère que je suis clair...) ?

Précision, ce répertoire Prive, contient beaucoup d'autres fichiers (images
et autres) dont je veux en protéger l'accès.

Merci d'avance pour vos réponses

2 réponses

Avatar
Thibaut Allender
J'utilise un système de session pour m'authentifier.
Lorsque je me suis authentifié, j'accède à travers la commande php suivante
: header("Location: Prive/index.php)
au fichier index.php se trouvant dans le répertoire "Prive".
Ce repertoire, je l'ai protégé par le système .htaccess en y mettant "Deny
from all".
Jusque là, tout fonctionne bien.


ca ne devrait deja plus fonctionner, puisque c'est le client qui est
dirigé vers le repertoire interdit à tout le monde en http...

Le fichier index.php contient des liens (ex. <a href="Prive/Chat.php">) vers
d'autres fichiers se trouvant eux aussi dans le répertoire Privé.

Lorsque je cliqe sur ces liens, l'accès m'est interdit par .htaccess !!!

Donc comment je peux faire pour protéger ce répertoire pour les accès
directs, mais en authorisant l'accès à travers des liens de mon site et mon
système de session.
(j'espère que je suis clair...) ?


en verifiant que la session existe dans les fichiers concernés, inutile
d'utiliser un .htaccess, sauf si des fichiers *qui ne sont pas
interpretés par php* doivent être protégés (images, fichiers html, etc)

Précision, ce répertoire Prive, contient beaucoup d'autres fichiers (images
et autres) dont je veux en protéger l'accès.


tu peux faire un "wrapper" php qui va aller lire les infos dans ce
repertoire et les delivrer au client, en prenant soin de lui specifier
le bon mime type. le client accede donc aux ressources protegees depuis
un fichier php qui se trouve hors de ce repertoire, mais qui est protégé
par la session

--
thibaut allender | freelance | http://capsule.org

Avatar
Frederic Rouchouze
Lorsque je cliqe sur ces liens, l'accès m'est interdit par .htaccess !!!


Normal !

Donc comment je peux faire pour protéger ce répertoire pour les accès
directs, mais en authorisant l'accès à travers des liens de mon site et
mon système de session.


La meilleure solution, selon moi, est de faire des "include" de tes fichiers
"privés" depuis un fichier situé, lui, dans un répertoire public.

Précision, ce répertoire Prive, contient beaucoup d'autres fichiers
(images et autres) dont je veux en protéger l'accès.



Pour les images et autres fichiers non HTML/PHP, il faut utiliser l'entête
"header("Content-type: image/jpeg")" dans ton fichier "public" et générer un
flux de données à partir de ton fichier "privé" en utilisant la fonction
"imagejpeg()" ou la fonction "readfile()" dans ton fichier "public".

--
Frédéric Rouchouze
mailto: