• # Sessions sur répertoires

    Posté par (site web personnel) . En réponse au message Gestion des sessions par Apache (ou autre magouille qui marche). Évalué à 2.


    J'ai aussi une autre idée, ce serait que PHP envoie le login/mdp à apache lorsque l'erreur 403 arrive. En d'autres termes, il capterait les headers de apache et renvoyait directement le bon login/mdp sans que l'utilisateur ni voye que du feu.


    Possible, mais pas propre du tout.

    Moi ce que je ferais, c'est que tout soit géré par php, grâce à mod_rewrite, ou même sans d'ailleurs.

    A la base de tes répertoire utilisateurs, tu met un bon 403 pour tout le monde.

    Et après, c'est ton script php qui donne les fichiers.

    Donc en gros tu demandes pas http//site.org/homes/~user/doc.sxw mais tu demandes http//site.org/protect.php?file=~user/doc.sxw . Ce script php utilise bien sûr sans problème les sessions php. Après, si y'a droit, tu renvoies le fichier ( avec le bon header("Content-type") ou un truc comme çà et la fonction readfile), et sinon, tu renvoies header("403 Forbidden") (ou un truc de ce genre).

    Attention à protéger ta variable file pour empêcher qu'on demande "/etc/passwd" ou "../../../etc/passwd".

    Une fois que çà çà marche comme tu veux, tu peux utiliser mod_rewrite pour faire disparaitre à la vue de l'utlilisateur la partie "protect.php?file=" de l'URL.


    RewriteEngine On
    RewriteRule ^/homes/(.*) protect.php?file=1ドル [L]


    (Ou un truc du genre)

    En espérant être clair...