所以我正在构建我的第一个需要管理员登录门户网站和访问简单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
}
?>
代码中可能存在一些错误,但我在这里写了它,认为它是伪代码。我想知道是否以及为什么这是一个坏主意,除了这个事实,如果感觉很脏。是的,我知道我仍然需要加密用户名和密码进行转移。
答案 0 :(得分:1)
如果让用户使用现有的mysql用户登录,则会出现很多安全问题。您还需要为要添加到Web应用程序的每个用户创建一个新的mysql用户。您还需要考虑mysql注入的危险。 (http://en.wikipedia.org/wiki/SQL_injection)
您最好为应用程序创建数据库并创建用户表。在此用户表中,您可以定义用户的用户名和密码。您还可以定义用户类型。例如普通用户和管理员,只有管理员才能登录管理门户。
我建议为您的应用程序使用php框架。它使得许多工作变得更加容易,并且您的代码更加安全。