non ('fin de mon point de vue après plusieurs années d'expériences, non ... tout dépend de ta compréhension de PHP, notemmant des parties concernant les sessions)tanktrasher a écrit:
Est ce compliqué à mettre en place ?
grosso-merdo :tanktrasher a écrit:
Comment cela fonctionne t il ?
jamais à 100% ... même avec du SSL, rien ne prouves que le gars qui tapent le login / pass est bien celui censé l'utiliser ...tanktrasher a écrit:
La sécuritée est elle garantie à 100% ?
<?php
// si le nom d'utilisateur est défini, ou le mot de passe également
if ( isset ($_POST['name']) || isset ($_POST['pass']) )
{
// formulaire recu
// On vérifie que user n'est pas vide...
if (empty($_POST['name']))
{
die ("ERREUR: Entrez un nom d'utilisateur!");
}
// on vérifie que le pass n'est pas vide !!
if (empty($_POST['pass']))
{
die ("ERREUR: Veuillez entrer un mot de passe!");
}
// On fait notre requête vers la table utilisateurs :)
$query = "SELECT `id_user`, `nom_user` FROM `users` WHERE `nom_user` = '".$_POST['name']."' AND `password_user` = '" . $_POST['pass']."' ";
// Execute la requete
$result = mysql_query($query) or die ("Error in query: $query. " . mysql_error());
$data = (mysql_fetch_array($result) );
// Regarde les valeurs retournees par la base
if (mysql_num_rows($result) == 1)
{
// si une ligne est retournee,
// l'authentification est bonne
// crée le cookie avec le nom d'utilisateur et la session
session_start();
$_SESSION['id_user'] = $data['id_user']; // cette ligne crée une variable de session, où l'on sauve l'id de notre utilisateur connecté
$_SESSION['nom_user'] = $data['nom_user']; // pareil pour son pseudo :)
setcookie("username", $_POST['name'], time()+(84600*30)); // même principe mais avec un cookie, on sauve le nom de la personne (tu vas comprendre pourquoi ensuite)
// ensuite on affiche un texte en html pour dire que tout fonctionne, c'est ma méthode crade avec une redirection html, mais bon :/
?>
<h2>Acces autorisé !</h2><h4>Vous allez être redirigé dans 2 secondes</h4><meta http-equiv=refresh content="0; url=blabla.php">
<?php
}
else
{
// sinon et bien qqch a mal fonctionné ! authentification impossible
echo "ERREUR: Login ou Mot de passe incorrect!";
}
// Libere le resultat
mysql_free_result($result);
}
else
{
// pas d'envoi
// affiche le formulaire
?>
<html>
<head>
<title>WoW Orga - Evolution</title>
<link rel="stylesheet" type="text/css" media="all" href="style.css" />
</head>
<body>
<center>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"><p>Username <input type="text" name="name" value="<?php echo $_COOKIE['username']; ?>"></p>
<?php
// ICI le cookie qu'on a créé tout à l'heure prend son utilité : si la personne s'est déjà connectée une fois et qu'elle revient, alors son pseudo sera pré rempli, c'est pratique !!
?>
<p>Password <input type="password" name="pass">/p>
<input type="submit" name="submit" value="Log In">
</center>
</body>
</html>
<?php
}
?><?php
// on lance la session
session_start();
/// vérification qu'il n'existe PAS une variable de session id_user (créée uniquement si on se connecte avec succès)
if ( !isset($_SESSION['id_user']) ) {
die ("ERREUR: Acces interdit!");
}
// Sinon et bien c'est que la variable existe, donc on ne fait rien de spécial et le script continue sa route (et affiche ta page).
else {
}
?> <br /><b>Notice</b>: Undefined index: username in <b>c:\program files\easyphp1-7\www\secure\connexion.php</b> on line <b>63</b><br />
Oui mais rien que sans magic_quotes, si tu mets un simple quote ' dans la requète soit :Startide a écrit:
l a pas spécialement pour vocation d'être "sécurisé" pour empêcher les mecs doués ^^
+1SandRock Mp4 a écrit:
Oui mais rien que sans magic_quotes, si tu mets un simple quote ' dans la requète soit :
- elle plante
- tu fais une injection (volontairement ou pas)
Metaldark a écrit:
+1
Sa ma toujours fait triper de me logger en mettant comme psswd "OR 1=1" :ane:
<?php
$code=rand(10000,99999);
session_start();
$_SESSION['code'] = $code; // On stoke le code dans une session
// Définition des dimensions
$img = imagecreate(72, 25);
// Défintion des couleurs
$bgc = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);
$gris = imagecolorallocate($img, 128, 128, 128);
// Remplissage du fond
imagefilledrectangle($img, 0, 0, 72, 25, $bgc);
// Ecriture du code (le premier 5 est la taille - de la police par défaut - la plus grande dans GD)
imagestring($img, 5, 12, 5, $code, $black);
// Ajout d'un bruit
for($i=0;$i<150;$i++) {
imagesetpixel($img, rand(0,72), rand(0,25), $gris);
}
// Création de l'image (qualité 15% : très médiocre)
header("Content-type: image/jpeg");
imagejpeg($img, '', 15);
imagedestroy($img);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head></head> <body> <img src="img.php" width="72" height="25" /> <form action="send.php" method='post'> <input type="text" name="code" maxlength="8" /> <input type="submit" value="test" /> </form> </body> </html>
<?php
session_start();
if ($_POST[code]!=$_SESSION['code']) { exit; }
// et le reste...
?>
Sujets Similaires: Découvrez aussi :
AchetezFacile (Comparateur de prix) -
JeuxVideo.fr -
Neteco -
Ozap -
Mobinaute -
JeuxVideo.TV (Emissions TV)
Echanges de Liens :
Allociné (Cinéma, VOD) -
Cityvox (Paris) -
Franchise Jeux Vidéo -
Boursier.com (Bourse Quotidien) -
Infobebes (Grossesse)
Culture Jeux (Encyclopédie) -
Webdistrib (Matériel Informatique) -
Locafilm (Location DVD) -
Pixmania (GPS Garmin) -
auFeminin (beauté, mode)
Sur cette page : Mettre en place un accès sécurisé ? - PHP/MySql + login et pass : Bonjour, je s.... Mots Clefs : informatique, PC, hardware, matériel, jeux vidéo, multimédia, logiciel, téléchar....
