对于php中的登录系统,这是一个合适的大纲,它将如何工作:
用户输入用户名和密码,点击登录按钮.
>检查数据库中是否存在用户,
>如果是,则检索盐
对于那个用户
>哈希密码和
盐(这是做的吗?
客户端还是服务器端?我认为
客户端会更好,但PHP
是服务器端,所以你会怎么做
这个?)
>检查价值与价值
数据库,
>如果值匹配则
用户输入了正确的密码
他们登录了.
解决方法:
Checks if user exists in database, if it does then retrieve the salt for that user hash the password and salt
不.这意味着你要两次击中你的数据库.
hash the password and salt (would this be done on the client or server side? I think client side would be better
没有.密码哈希的重点在于,如果有人破坏了您的数据库,他们就不能(轻松)找出他们需要发送到您的系统(或其他系统)以便以该用户身份登录的内容.
如果在将密码发送到服务器之前对密码进行哈希处理,则攻击者可以绕过JS并将从数据库中读取的预先设置的密码发送到您的系统.
>用户提交用户名和密码
>使用系统的标准盐对密码进行哈希处理
>选择一些,cols FROM your_users WHERE username =?和密码=?
>计算从数据库返回的行数.
标签:php,security,hash,login
来源: https://codeday.me/bug/20190713/1448311.html