gpt4 book ai didi

php - 区分大小写的php mysql登录

转载 作者:行者123 更新时间:2023-11-29 04:09:27 25 4
gpt4 key购买 nike

我有一个简单的身份验证脚本正在工作,但我发现对于密码管理员用户管理员,密码管理员用户管理员也可以登录。如何使此脚本区分大小写。另外,我知道可以执行的加密操作,这样密码就不会存储为文本,只需要弄清楚如何区分大小写。

        if($_SERVER['REQUEST_METHOD'] == "POST" &&  mysql_real_escape_string($_POST['username'])!="" && mysql_real_escape_string($_POST['password']) !="") { // receive form sent via POST method

$username = mysql_real_escape_string($_POST['username']); // prevent sql injection by using "mysql_real_escape_string()"
$password = mysql_real_escape_string($_POST['password']);
$data = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'");

if(mysql_num_rows($data) >0) { // if the query returns a result then create session variables to show user is authenticated
$_SESSION['logged'] = 1;
$_SESSION['user'] = $username;
}
}

最佳答案

您可以使用BINARY type强制区分大小写:

"SELECT * FROM users WHERE BINARY username='$username' AND password='$password'"

需要注意的是,mysql_u函数已被弃用。您应该切换到mysqli或PDO并使用准备好的语句。

关于php - 区分大小写的php mysql登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16726943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com