慢速PHP登录表单
我正在制作一个登录信息表单,但是加载表单本身需要很长时间(1-2秒),所以我想知道我是否做错了什么。 我也非常担心这种方法的安全性 谢谢你的帮助慢速PHP登录表单,php,security,login,mysqli,Php,Security,Login,Mysqli,我正在制作一个登录信息表单,但是加载表单本身需要很长时间(1-2秒),所以我想知道我是否做错了什么。 我也非常担心这种方法的安全性 谢谢你的帮助 <? if(isset($_POST['send'])) { $connection=mysqli_connect('host','user','password','database'); $email=$_POST['email']; $
<?
if(isset($_POST['send']))
{
$connection=mysqli_connect('host','user','password','database');
$email=$_POST['email'];
$password=$_POST['password'];
$query=mysqli_prepare($connection,'SELECT access FROM users_table WHERE email=? AND password=?');
mysqli_bind_param($query,'ss',$email,$password);
mysqli_stmt_execute($query);
mysqli_stmt_bind_result($query,$access);
mysqli_stmt_fetch($query);
if($access>=0)
{
session_start();
$_SESSION['user_email']=$email;
$_SESSION['user_password']=$password;
$_SESSION['user_access']=$access;
switch($access)
{
case(0):
header('Location:admin page');
case(1):
header('Location:user page');
}
}
else
{
echo 'Wrong Password!';
}
mysqli_stmt_close($query);
mysqli_close($connection);
}
else
{
?>
<div id='login'>
<form method='POST' action=''>
<input name='email' type='email' placeholder='Enter your email...'>
<input name='password' type='password' placeholder='and your password.'>
<input class='button' name='send' type='submit' value='Send'>
</form>
</div>
<?
}
?>
瓶颈可能来自MySQL连接(MySQL服务器是否位于web服务器的远程位置?) 您可以在
mysqli\u connect
函数前后保存一个时间戳(使用microtime()
),然后减去end start得到总时间
例如:
$t = microtime(true);
// do connection here
die(microtime(true) - $t);
我不会将密码存储在纯文本中,更不会将其存储在会话中。是否在本地主机或web服务器上尝试?关于安全性,您将密码存储为明文,并将其毫无理由地保存到会话。您不会检查MySQL调用是否有错误。任何失败都可能使你的应用程序崩溃,但你不知道为什么。我本想在之后添加MD5,但我有点忘了。XD它在本地和服务器上运行,结果相似。谢谢会话提示,我将删除它。你是对的,只是服务器出现了问题:到处都是巨魔