【发布时间】:2021-05-13 17:49:51
【问题描述】:
我已经准备好登录系统并且 100% 正常工作,但现在我想在登录时添加访问级别,但我不知道怎么做。在我的数据库中,在我的登录表中,我创建了一个名为“permission_level”的列,默认设置为“default”,管理员为“master”
我该如何解决这个问题?
尝试失败:
<?php
$mysqli = new mysqli('', '', '', '');
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT permission_level FROM authme WHERE = '".$user."'";
echo $user;
if ($result = $mysqli->query($query)) {
/* fetch associative array */
while ($row = $result->fetch_assoc()) {
printf ("%s \n", $row["permission_level"]);
}
/* free result set */
$result->close();
}
session_start();
$_SESSION['UserSession'] = $_POST['username'];
【问题讨论】:
-
在继续上述要求之前,您应该知道您的脚本容易受到严重的 SQL 注入漏洞的影响。您永远不应该将用户输入直接连接到您的查询文本中。请改用prepared statements/parameterized queries。
-
它们只是获得我期望的结果的方法,但是经过几次不成功的尝试,我在这里问,sql注入我担心后面的步骤,以及我将使用的其他语言以及, 像 jquery
-
$user没有赋值,所以会为空?阅读问题后,尚不清楚问题所在。 (除了 sql 注入) -
$用户被分配到一个超级全局'$_POST ['用户名'],并且这个页面是有条件的,只有成功登录才有可能访问