根据目前的知识,您应该在服务器上存储密码的什么位置以及如何保护它们?

根据目前的知识,您应该在服务器上存储密码的什么位置以及如何保护它们?

给出的是虚拟服务器上的 PHP 和 MySQL 系统。

我想在那里保存密码。你经常听到人们谈论他们的系统被黑客入侵,信用卡信息被盗。

根据目前的知识,您应该在服务器上存储密码的什么位置以及如何保护它们?

答案1

如果你要存储用户密码,我建议使用

本质上你有两张桌子

tblUser(userID, userPassword)

tblUserKey(userID, userKey)

将散列的用户密码tblUser和散列的密钥存储在tblUserKey表中。
使用各个用户的散列密钥解密用户密码。

这使得每个密码都完全独特,并且如果黑客能够访问您的表格,他们将更难以解密。

在各种平台上进行 Salt 密码哈希演练

答案2

您只需要了解一些基本细节:

  • 黑客无法访问数据库的列名,因此切勿将密码列命名为 ,passwordpass使用无人能猜到的名称
  • 要在数据库中存储一些重要/敏感的数据(如密码或信用卡号),您应该使用单向加密函数,如md5()sha1(),当用户将其密码存储在数据库中时,您对其进行哈希处理,然后将加密数据存储在数据库中,当用户想要登录时,您再次进行哈希处理,然后与您之前存储的哈希值进行比较,这样,即使有人入侵您的数据库,他也只会获得一些加密数据,并且无法解密,因为这是单向加密。
  • 不要忘记在你的 SQL 服务器上设置登录名、密码和访问权限,默认情况下,root:''如果你有一个像 PhPmyadmin 这样的界面,任何人都可以连接它并访问你的数据库数据
  • 如今,散列密码并不安全,因此您可能需要对散列数据进行“加盐”。要对散列进行加盐,只需在散列数据前添加一些字符,例如,XYZ即使您的散列字符串被破解,黑客也无法找到XYZ您在其前面添加的内容

相关内容