gpt4 book ai didi

php - mysql_real_escape_string 应该是我在注册表单中输入的密码吗?

转载 作者:可可西里 更新时间:2023-11-01 07:46:44 26 4
gpt4 key购买 nike

当用户注册时,我使用 mysql_real_escape_string 清除密码,如下所示

$password = clean($_POST['password']); 

在将其添加到数据库之前,我使用:

$hashedpassword = sha1('abcdef'.$password);

并将其保存到 mySQL 中。

我的问题是我应该清理它还是在将密码添加到数据库之前对密码进行哈希处理?

最佳答案

嗯,有一个主要的误解。

mysql_real_escape_string() 清理 任何东西。它与安全完全无关。

此函数仅用于转义分隔符,仅此而已。它可以帮助您将字符串数据放入 SQL 查询中 - 仅此而已。

因此,您要放入查询中的每个字符串(通过将其放在引号中),都必须使用此函数进行准备。在所有其他情况下,它都是无用的,甚至是有害的。

因此,
出于这种误解,您在这里犯了 2 个主要错误:

  • 您正在使用此函数,而不是实际用于查询的数据
  • 您可以通过向其添加一些符号来破坏您的密码,因此,它变得无法使用

此外,作为旁注,请记住此函数应始终与 mysql_set_charset 结合使用,否则此函数的 "_real_" 部分将变得无用

关于php - mysql_real_escape_string 应该是我在注册表单中输入的密码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7274242/

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