私は現在、プレーンテキストでパスワードを保存しないようにMD5をテストしています。私は2つのファイルで働いている 、最初のものは、ユーザーを登録し、データベースにパスワードのMD5を挿入します。 2ファイル「は、2つの値がエコーと等しいことをテストヘッダーはISNをリダイレクトした後、iが格納されている一方のハッシュ値と入力したパスワードのハッシュ値を比較し、ユーザのログインを試みるlogin.php、 あります誰かが私にいくつかのヒントを与えることができればトンの加工は、ここにlogin.phpのための私のコードです:PHPセッション、ヘッダ、およびパスワードのハッシュ値
<?php
include("../config.php");
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST") {
// username and password sent from form
$myusername = mysqli_real_escape_string($db,$_POST['username']);
$mypassword = mysqli_real_escape_string($db,$_POST['password']);
$sqlx = "SELECT passcode FROM jdashboard WHERE username = '".$myusername."'";
$resultx = mysqli_query($db,$sqlx);
$rowx = mysqli_fetch_array($resultx,MYSQLI_ASSOC);
$storedpass=$rowx['passcode'];
$enc_password = md5($mypassword);
/*echo $enc_password;
echo "<br>";
echo $storedpass;*/
/*
$compare=strcmp($string1,$string2);
*/
$sql = "SELECT id FROM jdashboard WHERE username = '$myusername' and passcode = '$mypassword'";
$result = mysqli_query($db,$sql);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
$active = $row['active'];
$count = mysqli_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count == 1) {
$admin=0;
//session_register("myusername");
$_SESSION['myusername'] = 'myusername';
$sql = "SELECT admin FROM jdashboard WHERE username = '".$myusername."'";
$result = mysqli_query($db,$sql);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
$admin= $row['admin'];
$_SESSION['login_user'] = $myusername;
if ($admin=='1'){
header("location: welcome.php");
}
else if ($admin=='0' && $storedpass == $enc_password){
header("location: https://one.potentiallead.com/dshb/usr");
}
else {
$error = "Your Login Name or Password is invalid";
} }
}
?>
は、事前にありがとうございます!
あなたデータベースパスワードを脱出します。なぜそれが悪い考えであるか考えてみてください。 – Progrock
私がwelcome.phpにまっすぐ行くとどうなりますか? – Progrock
こんにちは、あなたはいくつかの – Lalati