Bien que je ne suis pas au courant d'aucune façon dont un utilisateur peut manipuler les informations contenues dans $_SESSION
à moins que votre code (ou code sur votre serveur) leur permet, donc ne fais rien de fou comme ...
foreach($_POST as $key=>$value) { // DON'T DO THIS
$_SESSION[$key] = $value; // DON'T DO THIS!
} // WHY ARE YOU DOING THIS!?
Vous ne devriez pas faire quelque chose comme ceci, où vous mettez simplement les données que l'utilisateur vous donne dans vos variables $_SESSION
. Comme la base de données, l'écriture sur la session doit être considérée comme une forme de sortie, et vous devez désinfecter ce que vous y mettez (et où il est placé) en conséquence. Donc, à moins que vous ne fassiez quelque chose de fou comme ça (vous pourriez l'être, cela peut être beaucoup plus subtil), je ne pense pas que vous ayez à vous soucier d'un utilisateur qui change la variable de session. Vous pourriez avoir à vous soucier de la threats of a shared hosting environment où quelqu'un qui n'est probablement pas tout à fait un utilisateur final manipule les informations de session.
Ce qui n'est pas si sûr, c'est l'identificateur de session, car il y a quelques façons simples de hijack a session in PHP.
Je recommande de vérifier le livre auquel j'ai été lié, Essential PHP Secutiry. Il s'agit d'une explication très simple et directe (mais approfondie) de plusieurs concepts de base de la sécurité PHP, dont beaucoup peuvent être généralisés et doivent être gardés à l'esprit lors de tout travail de développement web.
Ne pas $ _POST quoi que ce soit !, encore moins l'ID utilisateur, c'est un trou de sécurité énorme. – Ben
Je poste le mot de passe que l'utilisateur entre de la page d'index à la page de connexion, est-ce correct? –
bien sûr c'est bien !!Si vous voulez plus de sécurité vous pouvez utiliser le cryptage de votre mot de passe, puis décrypter dans votre page de connexion – nik