Php 我不能写登录脚本
我正在尝试编写一个登录脚本。但是写不出来,面临一些问题Php 我不能写登录脚本,php,session,Php,Session,我正在尝试编写一个登录脚本。但是写不出来,面临一些问题 <?php include 'Database.php'; if (isset($_POST['sub'])) { if (!empty($_POST['email']) && !empty($_POST['password'])) { $db = new User(); $query = $db->query('SELECT *
<?php
include 'Database.php';
if (isset($_POST['sub'])) {
if (!empty($_POST['email']) && !empty($_POST['password'])) {
$db = new User();
$query = $db->query('SELECT * FROM users WHERE email="'.$_POST['email'].'" AND pasword="'.$_POST['password'].'"');
if ($query && $query->num_rows > 0) {
$row = $query->fetch_assoc();
if (password_verify($_POST['password'], $row['password'])) {
echo "Log in Success";
}
else {
echo "Password doesnt match!";
}
}
else {
echo "Not found";
}
}
else {
echo "Fill the blanks";
}
}
else {
echo "Error";
}
?>
首先,我建议为查询构建使用准备好的语句。这确保了SQL注入是不可能的
其次,调用session\u start()
在执行任何操作之前,请先修复代码中的SQL注入错误!请参阅。切勿存储纯文本密码!请使用PHP来处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用密码\u hash()
。在散列之前,不需要对它们执行任何操作或使用任何其他清理机制。这样做会更改密码并导致不必要的额外编码。
<?php
session_start(); //Call at the top of your page.
//Do login stuff
if(login_success) {
$_SESSION['userId'] = $user->Id; //Taken from the select.
}
?>