Avertissement
Ce système ouvre une faille de sécurité :
Si quelqu’un utilise ma machine, il peut se connecter à ma place.
Principe
Simple comme bonjour, ou presque, il suffit de rallonger la durée de vie du cookie de session, sur demande de l’utilisateur.
Mise en place
Liste des fichiers à modifier :
ecrire/mes_options.php3 [1] : Ajout d’une variable globale permettant d’autoriser l’autologin.
<?php
......
?>Ainsi, le webmaster peut désactiver temporairement l’autologin en supprimant la variable globale ’autologin’ ou en lui attribuant la valeur ’false’
inc-login.php3 : Ajout d’une case à cocher ’Se souvenir du mot de passe’. Insérer le code suivant :
...
echo "<input type='hidden' name='next_session_password_md5' value=''>\n";echo "<div align='right'><input type='submit' class='spip_bouton' name='submit' value='Valider'></div>\n";
...
spip_cookie.php3 : Rallongement de la durée de vie du cookie de session. Remplacer les lignes contenant :
spip_setcookie('spip_session', $cookie_session); par
et :
spip_setcookie('spip_session', $cookie); par
à noter que la durée proposée est de 14 jours. On peut souhaiter raccourcir ou rallonger cette durée en remplaçant la valeur 14 par une autre...
à partir de la version 1.6, il faut aussi ajouter une ligne dans le fichier de langue. Exemple :
Dans ecrire/lang/spip-fr.php3 [2] :
et dans ce cas, on remplacera dans le fichier inc-login.php3 la ligne :
if ($GLOBALS['autologin']) echo "<label><b>Se souvenir de votre mot de passe</b> :</label><input type='checkbox' name='memorise_login' />\n";par la ligne :
Usage
Lors d’une demande de login, l’utilisateur aura la possibilité de demander au système de se souvenir du mot de passe.
S’il coche la case, sa session persistera pour la durée définie.
S’il ne coche pas la case ou qu’il fait un ’logout’, le cookie de session sera détruit et il devra s’authentifier de nouveau à l’avenir.