J'ai un site Web de petites annonces que je crée un système de connexion pour ...Nouveau sur les connexions et sessions PHP; Est-ce assez sûr?
Dans le code ci-dessous, un formulaire avec "nom d'utilisateur" et "mot de passe" a été soumis à. Aussi un « remember_me » fonctionnalité est disponible (Code n'est pas testé encore):
else if($row['password']===$pass){
session_start();
$_SESSION['logged_in'] = '1';
$remember_me = isset($_POST['remember']) ? $_POST['remember'] : '0';
if($remember_me=='1'){
$text = "SECRET_TEXT_AND_NUMBERS_HERE";
$username= $row['username'];
$salt1 = sha1($row['alt_username']);
$salt2 = sha1($text);
$cookie_value = $salt1.':'.$username.':'.sha1($row['alt_username'].$salt2.$salt1);
setcookie("s_b", $cookie_value, time()+60*60*24*100, "/");
}
}
Maintenant, est ce code un bon début pour une page de connexion?
Aussi, une question de suivi importante à tout cela, si les utilisateurs veulent rester connecté, puis-je définir une variable $_SESSION
comme celle dans le code, et juste vérifier si cela est défini au début de tous pages sur le site? Ou est-ce que je vérifie si le cookie créé dans la page de connexion est activé au lieu de vérifier la session?
Pouvez-vous expliquer « Conserver la clé de session dans le cookie de session » partie shouldn.? –
session_start() définit un cookie contenant une clé de session, vous n'avez pas besoin de définir un autre cookie pour stocker des informations. – Jacco
Oui, durant les sessions, je n'utilise pas de cookies, mais je voulais dire la fonction "Se souvenir de moi". l'utilisateur est-il connecté? Y a-t-il d'autres obstacles que je pourrais ajouter pour est-il encore plus sûr lorsque les utilisateurs passent d'une page à l'autre, au lieu de simplement vérifier si une «variable de session est vraie ou fausse»? –