Jeg har en database med nogle brugere.
Password ligger i databasen som ren tekst, og jeg vil gerne have dem krypteret i forbindelse med nyt login system.
hvordan gør jeg det? md5
Jeg bruger dette login system/ kode:
<?php
// hvis session ikke er started, så start session
if(! isset($_SESSION) ) session_start();
// $db = er erkløret her (mysqli connection)
require_once("../Connect2.php"); //Establishing connection with our database
$error = ""; //Variable for storing our errors.
if (isset($_POST["submit"])) {
if (empty($_POST["brugernavn"]) || empty($_POST["password"])) {
$error = "Both fields are required.";
} else {
// Define $username and $password
$brugernavn = $_POST['brugernavn'];
$password = $_POST['password'];
// To protect from MySQL injection
$brugernavn = stripslashes($brugernavn);
//$password = stripslashes($password);
$brugernavn = mysqli_real_escape_string($db, $brugernavn);
//$password = mysqli_real_escape_string($db, $password);
// ved ikke at begrænse på pw kan det laves mere komplex (special tegn)
$password = md5($password); // når der krypteres behøves ikke stripslashes og mysqli_real_escape_string
//Check username and password from database
$sql = "SELECT id FROM bruger WHERE brugernavn='$brugernavn' and password='$password' LIMIT 1";
$result = mysqli_query($db, $sql);
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
//If username and password exist in our database then create a session.
//Otherwise echo error.
if (mysqli_num_rows($result) == 1) {
$_SESSION['brugernavn'] = $brugernavn; // Initializing Session
header("location: forsideP.php"); // Redirecting To Other Page
} else {
$error = "Incorrect username or password.";
}
}
}
?>