• # quelques solutions

    Posté par . En réponse au journal Le problème du jour (perlcgi&links).. Évalué à 2.

    une solution simple est facile à mettre en oeuvre:
    utiliser un .htaccess
    on récupère ensuite le login dans la variable REMOTE_USER
    le login est le mot de passe peuvent se trouver dans un fichier, dans ldap, une base, ....
    Le problème, c'est pour la déconnection : il faut fermer tous les navigateurs.

    La solution avec cookie est session est ici mal utilisée. En réalité lorsqu'on se logue, un fichier de session doit être créée sur le serveur dans /tmp par exemple avec un nom très aléatoire. On envoie ensuite le cookie avec le numéro de session sur le client puis on fait toutes les authentications avec ce numéro de session, le fichier peut contenir le login et éventuellement d'autres informations comme le mot de passe s'il doit être réutilisé. Lorsqu'on se délogue, on efface le fichier de session.
    Avantage, une fenètre de login en html, un déloguage (!) propre, une gestion possible du temps de connection.
    Problème, supprimer les fichiers de sessions qui restent après crache, fermeture brutale du client, ou oublie de se déloguer.

    Dans les 2 cas ont n'a aucun passage de paramètre dans l'url, qui peuvent être visible ou mémoriser par le navigateur. Le cookie ne contient pas de mot de passe/login. Après il ne reste plus qu'à passer l'authentification en https ....