是否建议将密码的哈希绑定到准备好的语句,或者哈希应该是 SQL 语句的正常部分?
if($createUserStmt = mysqli_prepare($link, 'INSERT INTO users (name, pass) VALUES (?, ?)')
{
mysqli_stmt_bind_param($createUserStmt, 's', $_GET['username'], $passwordHash);
//rest of prepared statment
}
if($createUserStmt = mysqli_prepare($link, 'INSERT INTO users (name, pass) VALUES (?, '.$passwordHash.')')
{
mysqli_stmt_bind_param($createUserStmt, 's', $_GET['username']);
//rest of prepared statment
}
对于密码哈希函数,我正在使用this。问题是否归结为天气或散列函数的输出是否可以生成能够进行 SQL 注入的代码?用户输入的密码是否应该在其他地方进行清理?如果是,如何?
@commenters 请解释一下,而不是仅仅说“坏主意”或类似的话