bibiss1961
Messages postés36Date d'inscriptionlundi 26 janvier 2009StatutMembreDernière intervention 2 mai 2009
-
28 avril 2009 à 16:16
Pyrrah
Messages postés127Date d'inscriptionmercredi 16 février 2005StatutMembreDernière intervention15 février 2010
-
28 mai 2009 à 16:22
Bonjour,
J'ai fait 2 pages
1 pour écrire le mot de passe
1 pour afficher la page protégée
voici les codes
1RE PAGE
TychoBrahe
Messages postés1309Date d'inscriptionsamedi 31 janvier 2009StatutMembreDernière intervention 5 juin 201312 29 avril 2009 à 00:52
Salut,
De base stocker un mot de passe en clair est une très mauvaise idée, idem pour le fait de pouvoir l'afficher. Un mot de passe ça se stocke de préférence hashé afin que même si quelqu'un arrive a le récupérer il ne puisse pas l'utiliser.
Pour ce qui est du stockage, mettre ça en dur dans le code c'est un peu la loose, stocke donc plutôt dans une base de données ou directement dans un ficher. Sinon un gros conseil : essaye de coder proprement, là ton code est franchement illisible. Revois donc les bases du xhtml et sépare html, css, js et php car là c'est la caverne d'Ali Baba.
Pyrrah
Messages postés127Date d'inscriptionmercredi 16 février 2005StatutMembreDernière intervention15 février 20104 30 avril 2009 à 19:15
Hello,
Euh... je reprends un peu les termes de TychoBrahe : faut que tu codes proprement histoire de pouvoir te relire et que nous puissions te lire ;-)
Je te conseille de mettre en place ton mot de passe dans une variable php et non visible dans ton code source !
Tu as la chance d'avoir du php, alors utilise le au maximum :)
Je te propose de mettre en place des sessions php.
C'est simple, facile à installer et ça garanti un niveau de sécurité supplémentaire comparé à ta proposition.
A insérer dans ta page de login en début de page (avant <html>) :
<?php
// Copyleft 2009 - Pyrrah - http://www.pyrrah.eu $password = "ICI-TON-MOT-DE-PASSE"; // Mot de passe
if ($_POST[logged] == "yes") {
// ^^ On supposera que le formulaire possède un champ invisible nommé "logged" de valeur "yes".
// Le formulaire est transmis, alors on continue :)
if (empty($_POST[password])) {
echo "Erreur : Mot de passe vide.";
exit();
}
elseif ($_POST[password] != $password) {
echo "Erreur : Mot de passe incorrect.";
exit();
}
else {
$_SESSION['auth']="simply_and_easy"; // nom de la session permettant de vérifier que l'user est authentifié
header('Location: console.php'); // User identifié, on le redirige vers la console admin (on supposera console.php)
}
}
?>
A insérer dans tes pages à protéger (avant <html>) :
( Tu peux faire un include, c'est vachement mieux :o )
<?php
@session_start();
if ($_SESSION['auth'] ! = "simply_and_easy") {
include("login.php"); // l'user n'est pas identifié, on le redirige vers la page de login
exit();
}
?>
Après si tu veux faire des multicomptes, faudra te tourner vers php combiné à mySQL...
Bonne continuation :)
(Si mon message te convient, n'oublie pas de le valider :o)
Pyrrah
Messages postés127Date d'inscriptionmercredi 16 février 2005StatutMembreDernière intervention15 février 20104 30 avril 2009 à 19:16
Le code n'est pas 100% sûr (notamment pour le login).
Il faut songer à le protéger (contre les attaques brute force ?).
Bon, après tout dépend, si c'est pour un petit site y'a pas besoin ;)
Pyrrah
Messages postés127Date d'inscriptionmercredi 16 février 2005StatutMembreDernière intervention15 février 20104 30 avril 2009 à 19:23
Pour le code à insérer ta page de login, j'ai oublié de mettre tout de suite après la balise de déclaration php :
@session_start(); // On ouvre une session
H4ck3r vaillant, rien d'impossible.
Vous n’avez pas trouvé la réponse que vous recherchez ?
bibiss1961
Messages postés36Date d'inscriptionlundi 26 janvier 2009StatutMembreDernière intervention 2 mai 20091 1 mai 2009 à 19:09
Merci d'avoir répondu je pense avoir compris l'essentiel mais j'ai un problème pour mon formulaire donc j'ai mis ton code php au début
<?php
@session_start(); // On ouvre une session
// Copyleft 2009 - Pyrrah - http://www.pyrrah.eu $password = "mot de passe"; // Mot de passe
if ($_POST[logged] == "yes") {
// ^^ On supposera que le formulaire possède un champ invisible nommé "logged" de valeur "yes".
// Le formulaire est transmis, alors on continue :)
if (empty($_POST[password])) {
echo "Erreur : Mot de passe vide.";
exit();
}
elseif ($_POST[password] != $password) {
echo "Erreur : Mot de passe incorrect.";
exit();
}
else {
$_SESSION['auth']="simply_and_easy"; // nom de la session permettant de vérifier que l'user est authentifié
header('Location: verif_essai.php'); // User identifié, on le redirige vers la console admin (on supposera console.php)
}
}
?>
et ensuite mon formulaire et je pense que c'est là où il y a une erreur pourrais-tu m'aider encore un peu ??