我最近添加了一个使用存储在成员表中的唯一盐的类。这是我使用盐之前的登录脚本:
$sql = 'SELECT id, username FROM member WHERE username = ? AND pass = ?';
$result = $this->DB->query($sql, array($username, $pass));
foreach($result as $record) {
$user = [
"id" => $record['id'],
"username" => $record['name']];
}
if (empty($user)) {
// Display errors
} else {
// Login by sending the array of data to login function
self::login($user);
}
现在,我也想买盐。有什么方法可以在不使用超过 1 个查询的情况下做到这一点?我可以通过从查询开始以获取用户通行证和加盐来使其工作,但有没有更好的方法。感觉有点像黑客攻击,还是根本无法避免?