Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour, actuellement j'ai un site intranet, qui est stocké sur un serveur wamp, avec PHP version 5.4.3 . Je souhaiterais migrer sur PHP7.0, mais le code php de mon site est très très obselete. je recherche quelqu'un qui pourrait me ré-écrire ce morceau de code de ma page de login.php :
if(isset($_POST['submit']))
{
$pseudo = htmlspecialchars(trim($_POST['pseudo']));
$password = htmlspecialchars(trim($_POST['password']));
if(empty($pseudo))
{
echo "<font color='red'>Veuillez saisir votre Nom d'utilisateur!<br/></font>";
}
else if(empty($password))
{
echo "<font color='red'>Veuillez saisir votre mot de passe!</font>";
}
else{
mysql_connect('localhost','root','');
mysql_select_db('matable');
$password = md5($password);
$login = mysql_query("SELECT * FROM usersite WHERE username='$pseudo'AND password='$password'");
$rows = mysql_num_rows($login);
if($rows == 1)
{
$_SESSION['pseudo'] = $pseudo;
header('location:index.php');
}else echo "<font color='red'>Utilisateur, mot de passe!</font>";
}
}
?>
Merci d'avance.
Hors ligne
Bonjour,
Réécrire le code n'est pas trop dans l'objectif de ce forum.
Par contre nous pouvons donner des pistes. Dans ce code, il me semble que ce qui est vraiment obsolète, c'est l'utilisation des fonctions mysql, il faudrait utiliser soit les fonctions mysqli, soit PDO.
Au passage, la requête faite n'est pas un modèle de sécurité, en général il vaut mieux selectionner le mot de passe et le comparer dans le code php que dans le requête SQL, pour deux raisons :
- On est jamais certain que deux mots de passe différents ne donneront pas le même MD5, même si c'est très peu probable (le MD5 n'est d'ailleurs plus recommandé, plus assez sur)
- Si quelqu'un trouve le moyen de faire une injection dans la requête, il ne passera pas le test du mot de passe (même si le mieux, c'est de ne pas avoir d'injection !)
@+
la v2, c'est tabou, on en viendra tous a bout
Hors ligne
Pages :: 1