使用MySQL数据库登录作为验证站点管理员登录的后端

时间:2015-03-16 14:52:15

标签: php security login mysqli

所以我正在构建我的第一个需要管理员登录门户网站和访问简单MySQL数据库的网站。我想问一下,基本上使用我的数据库中内置的访问批准/拒绝系统来验证管理员登录是否是一个可怕的想法。

让我澄清一下,

<!--I basically want to do this:-->
<form action="verify.php">
<input type="text" name="username>
<input type="password" name="pass">
</form>

//verify.php
<?php
$user = $_POST['user'];
$pass = $_POST['pass'];
$connection = mysqli_connect("host", $user, $pass);
    if (//Connection success)
      //Allow login and load admin portal
    } else {
    //login fail
    }
?>

代码中可能存在一些错误,但我在这里写了它,认为它是伪代码。我想知道是否以及为什么这是一个坏主意,除了这个事实,如果感觉很脏。是的,我知道我仍然需要加密用户名和密码进行转移。

1 个答案:

答案 0 :(得分:1)

嗯,是的,这是一个糟糕的主意。这就是原因:

如果让用户使用现有的mysql用户登录,则会出现很多安全问题。您还需要为要添加到Web应用程序的每个用户创建一个新的mysql用户。您还需要考虑mysql注入的危险。 (http://en.wikipedia.org/wiki/SQL_injection

您最好为应用程序创建数据库并创建用户表。在此用户表中,您可以定义用户的用户名和密码。您还可以定义用户类型。例如普通用户和管理员,只有管理员才能登录管理门户。

我建议为您的应用程序使用php框架。它使得许多工作变得更加容易,并且您的代码更加安全。