Re: [LA-discussions] gestion de session php

[ Thread Index | Date Index | More linuxarverne.org/discussions Archives ]




>l'auteur dit que c'est "un tutorial vraiment important pour la sécurité" et
>il montre qu'il faut stocker le pwd...

Un mot de passe est uniquement nécessaire lors de la connexion.
On stock en session les informations nécessaires sur un groupe de page.
Donc je vois pas l'intérêt de le stocker dans une session mais bref..
 
>if (!isset($_POST['pwd'])) et non SESSION.... et j'avais pas mis exit, je
>pense pas que c'est ça le vrai pb mais j'ai rajouté qd mm

Sans le "exit;", ça fonctionne aussi mais il faut comprendre le fonctionnement du "header()" :
La redirection n'est pas fait au moment de la ligne "header()" mais à la fin de l'éxécution complète du script php
donc pour un gain de temps (ouais je sais c'est une fraction de seconde dans ton exemple), on force la fin de l'éxécution après avoir envoyé le header.
C'est une bonne pratique à garder sur des plus gros projet ;-)
 
>en fait là j'ai pas su faire pour gérer plusieurs paires login/pwd alors
>comme c'est pas un site à haut risque, et que peu de gens voudront se
>connecter je vérifie pas le login, ça peut être n'importe quoi, seul le pwd
>est vérifié (le mm pour tout le monde) et le login stocké. Je sais c'est pas
>très secure mais pour l'usage qui va en être fait ça suffira, sauf si tu me
>dis que c'est vraiment très mal...

Après, à toi de voir selon ton besoin...
Pour gérer paires login/pwd, plusieurs solutions.
Voici un exemple vite fait (comprendre à améliorer et adapter) avec un tableau associatif :

<?php
$listeUser = array(
'login' => 'password',
'daniel' => 'password_de_daniel',
'matthieu' => 'password2',
'tux' => 'toto',
//....
   );
//....
if (isset($_POST['login']) && isset($_POST['password'])) {
    // Récupération des valeurs
    $login = $_POST['login'];
    $password = $_POST['password'];
    // Vérification login/password
    if (array_key_exists($login, $listeUser) && $listeUser[$login] == $password) {
$_SESSION['login'] = $login;
header("Location: prive.php");
exit;
    } else {
echo 'Identifiant/Mot de passe invalide';
    }
}



--

Matthieu


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/