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

Web Perl Discussion :

Comment s'authentifier automatiquement aupres de HTACCESS ?


Sujet :

Web Perl

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Comment s'authentifier automatiquement aupres de HTACCESS ?
    Bonjour a tous
    J'ai un probleme qui doit etre tout bete mais impossible de trouver la solution.

    Je protege un repertoire avec le couple HTACCESS et HTPASSWD et quand j'accede au repertoire on me demande un mot de passe !!??
    Pourquoi ?

    Non je plaisante.

    Je sais faire en Perl mes propres identifications mais elles ne peuvent pas etre aussi sure que en utilisant HTACESS/htpasswd.

    Le probleme c'est que la boite de dialogue est moche et j'aurais voulu integrer l'identification dans une page personnalisée.

    Je sais que en PHP c'est possible mais j'aimerais savoir comment on fais en Perl

    J'avais pensé a plusieur solution, transmettre en POST les variables utilisateur/mot de passe mais j'ai peur que ce soit pas tres sur et de plus, impossible d'y arriver.
    En farfouillant sur le net, j'ai lus qu'il y avait un module LWP::UserAjent
    mais je suis pas arriver a le fairer marcher ( et puis j'ai commencer le perl y'a pas longtemps )

    Alors voila, y'as plus que ca qui me bloque.

    J'espere que quelqu'un trouveras la solution en Perl, merci d'avance!

  2. #2
    vic
    vic est déconnecté
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2002
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 431
    Points : 498
    Points
    498
    Par défaut
    Il faut passer l'information d'autentification dans les headers.
    Le format est décrit dans la RFC2617.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Merci VIC j'ai essayé mais l'anglais c'est vraiment pas mon fort, google a traduit le 1/5 enfin bon... galere


    sinon j'ai trouvé une methode mais c'est pas encore ca,
    le probleme est qu'on ne peut ouvrir qu'un fichier.

    code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $page="";
    $Mot_de_passe="";
    $Nom_util=""; 
    use LWP::UserAgent; 
     $ua = LWP::UserAgent->new; 
     $req = HTTP::Request->new(GET => $Page); 
     $req->authorization_basic($Nom_util, $Mot_de_passe); 
     print $ua->request($req)->as_string;
    Alors j'ai pense a faire une recherche de fichiers dans le repertoire et puis les ouvrir, mais bon c'est pas tres propre.

    Meme apres avoir ouvert un fichier, je saute a la page que je desire, la boite apparait !
    Le prob, a mon avis, est que le script a le droit mais le navigateur n'a pas le droit donc la boite apparait, comment le specifier, par cookies, si oui comment ?


    Il doit bien y avoir une methode du type (voire code) ou tu transmet les identifiant et tu accede directement au repertoire.

    Edité par GLDavid. Merci de mettre votre code entre les balises codes

  4. #4
    vic
    vic est déconnecté
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2002
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 431
    Points : 498
    Points
    498
    Par défaut
    Salut,

    Je n'avais pas compris ton problème au départ, apparement tu souhaites que le script s'identifie, et que l'autorisation soit "transmise" au navigateur par la suite. Or le HTTP est un protocole sans état donc je ne pense pas que ce soit possible. Si tu veux une boite générée par ton script il faudra que le script gère toute la session.

    Cependant il est faux de croire que l'autentification HTTP est plus sure que l'autentification par PHP ou autre. En effet pour un "AuthType Basic" avec Apache ce qui est le cas le plus fréquent, le nom d'utilisateur et de mot de passe sont envoyés en clair sur le réseau (en base64).

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Salut VIC

    tu as ecrit:

    "Si tu veux une boite générée par ton script il faudra que le script gère toute la session. "

    C a dire il faut utiliser une autre methode pour proteger le repertoire que en utilisant htaccess/htpasswd ?
    Peut tu me decrire la methode ?
    Faut - il que je mette les droits de repertoire en 700 et que j'accede au repertoire par le script (vu que les script lancer sur leserveur se comporte en administrateur )?

    Ce qui as de bien avec htaccess/htpasswd c'est que personne ne peut avoir acces au repertoire a partir du web sans le nom util et mot de passe
    c'est 100%simple 100% fiable
    Qu'elle autre methode est equivalente ?

    Merci encore!

  6. #6
    vic
    vic est déconnecté
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2002
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 431
    Points : 498
    Points
    498
    Par défaut
    Salut,

    Oui c'est ça il faut que le script aille chercher le fichier dans un répertoire non accessible directement par le site. Je pense que 700 n'est pas suffisant il faut au moins 511 je crois (à tester).

    Pour le htaccess, a ma connaissance il n'est pas possible de remplacer les boites de dialogue standard car elles sont générées directement par le navigateur .. donc tu peux inventer ce qut tu veux comme méthode pour l'identification. Le plus courant c'est un formulaire login/password avec une session PHP pour stocker l'identification de l'utilisateur.

    vic

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    oki je vais tester ca et je te tiens au courrant
    merci encore !

    La semaine prochaine - le temps que je finisse le stict minimum - je donnerais l'adresse de mon site perso*,
    Comme ca tu verras ce que j'ai fait ( peut etre j'aurais trouve la solution ), merci encore !


    *chez moi, serveur apache, win 2000pro, livebox, pII 400 MHZ.

Discussions similaires

  1. REST API : comment s'authentifier automatiquement ?
    Par renaudjuif dans le forum Salesforce.com
    Réponses: 1
    Dernier message: 10/04/2014, 17h37
  2. Réponses: 3
    Dernier message: 25/10/2007, 17h00
  3. Comment s'authentifier par formulaire ?
    Par zoulou153 dans le forum ASP.NET
    Réponses: 9
    Dernier message: 25/08/2006, 20h01
  4. Comment d'afficher automatiquement les macro présentes dans une BDD?
    Par Stéphane Olivier BERNARD dans le forum Access
    Réponses: 3
    Dernier message: 03/07/2006, 15h49
  5. Réponses: 6
    Dernier message: 25/02/2006, 16h30

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