<?php
include("connect.php");
session_start();
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Username and password sent from form in HTML
$myusername = $_POST['username'];
$mypassword = $_POST['password'];
$sql = "SELECT id FROM users WHERE username='$myusername' and password='$mypassword'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$active = $row['active'];
$count = mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if ($count == 1) {
session_register("myusername");
$_SESSION['login_user'] = $myusername;
header("location: welcome.php");
} else {
$error = "Your username or password is invalid";
}
}
?>
Ceci est mon code de connexion actuel. Sur ma page d'inscription, je l'ai pour que quand il injecte dans la base de données, il injecte les mots de passe déjà cryptés dans MD5. Cependant, je ne peux pas sembler convertir:Utiliser MD5 sur la page de connexion
$mypassword=$_POST['password'];
Dans MD5 pour confirmer pour voir si le mot de passe existe dans la base de données. Avec ce code, les mots de passe ne doivent pas être cryptés. Que dois-je changer pour faire en sorte qu'il vérifie avec la base de données chiffré?
'$ mypassword = md5 ($ _ POST ['mot de passe']);'? –
Je ne comprends pas. Vous pouvez insérer le 'md5 ($ _ POST ['mot de passe'])' dans la base de données et le comparer au mot de passe haché lors de la connexion. –
Vous avez déjà entendu parler de quelque chose appelé injection SQL? – amaster