IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langages serveur Discussion :

php/apache permission et authentification


Sujet :

Langages serveur

  1. #1
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 7
    Par défaut php/apache permission et authentification
    Bonjour,

    Je dois developper une page d'authentification qui permet d’accéder à une page html contenant des liens vers des documents type pdf, word etc ...
    Le client refuse la pop up que l'on peut faire facilement avec .htacess et veut une bannière de login "dans le site".
    J'ai donc repris ce code http://sebsauvage.net/wiki/doku.php?id=php:session avec verif de mot de passe qui gère une session php
    Le html est fait par un web designer et c'est facile à intégrer.

    Mon soucis est de savoir comment je peux gérer l'accès à des documents non html.
    Pour le html je rajoute une bannière php qui check la session mais pour les documents statiques, je ne sais comment le gérer.

    Par exemple comment faire pour que l'accès au document :
    http://monsite.com/document.pdf
    ne soit accessible que aux personnes authentifiées via un lien sur la page html générée après authentification du client.

    Merci de vos bons conseils.

  2. #2
    Membre expérimenté
    Avatar de sweetasnz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2012
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Zélande

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 212
    Par défaut
    regarde cette doc par ici :
    httpd.apache.org/docs/2.0/howto/htaccess.html

  3. #3
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 7
    Par défaut
    Cette page est pour gérer avec le .htaccess et donc la pop up.
    Cependant le client ne veut pas de pop up mais une authentification via une form html.
    Dans ce cas j'utilise une session php mais peut on lier la session php avec le htaccess ?
    Comment puis proteger mes fichiers statiques via cette session php ?

  4. #4
    Membre expérimenté
    Avatar de sweetasnz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2012
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Zélande

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 212
    Par défaut
    effectivement si il ne veut pas de pop-up, ça va pas le faire avec le htaccess.
    Comment ce gère son site, y a t'il une BDD derrière qui tourne?
    si oui, tu peux créer une gestion des droits en utilisant une table "account" (user/password/read/write/exec) couplée avec ta "authentification form" et appliquer une condition sur tes pages php en fonction de l'authentification...

    par exemple :
    tu crée une page php qui va s'occuper de gérer l'authentification avec à l'intérieur une fonction "check_login_pwd($login, $pwd)"
    qui va appeler la table "account"
    select read,write,exec from account where login="toto" and pwd="tata"....
    rapatrier les codes read/write/exec
    si $row('read') = 1 , alors $r = 1 sinon $r = 0
    si $row('write')= 1 , alors $w = 2 sinon $w = 0
    si $row('exec') = 1 , alors $r = 4 sinon $e = 0
    former une variable, $droit = $r + $w + $e
    return "code_droit"
    tester "code_droit" sur tes pages et afficher le contenu que tu veux en fonction ...

    bref, ce n'est qu'une ébauche ...

  5. #5
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 7
    Par défaut
    Merci pour ces reponses.
    Je n'ai pas de base sql derriere.
    Je suis en train de me pencher sur une solution avec mod_rewrite :
    RewriteEngine on
    RewriteRule RewriteRule !\.(pdf|txt|gif|jpg|png|doc)$ ./authorize.php?file=$1 [NC]

    Puis dans le code authorize.php je peux verifier ma session.
    Par contre je suis pas trop sûr comment afficher le document.
    Si tu as un idée !
    J'ai vu cet embrion de code :
    if (isLoggedInUser()) readfile('static-files/'.$_REQUEST['file']);
    else echo 'denied';

  6. #6
    Membre expérimenté
    Avatar de sweetasnz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2012
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Zélande

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 212
    Par défaut
    je n'utilise pas cette fonction ... désolé !
    mais ça me parait une bonne idée à mettre en oeuvre...

Discussions similaires

  1. [Configuration] Problème de configuration PHP/apache sous windows
    Par r.jean.maurice1 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 31/07/2006, 15h32
  2. webmail pour PHP APACHE MDAEMON le tout sous windows
    Par Corben dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 04/11/2005, 15h16
  3. création d'une base en 9.2 pour php/apache ?
    Par sgonzale dans le forum Oracle
    Réponses: 3
    Dernier message: 15/12/2004, 15h46
  4. Travailler avec PHP / Apache / MySQL
    Par R3iTt0R dans le forum Linux
    Réponses: 22
    Dernier message: 24/06/2004, 11h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo