tag

认证

该标签下有 7 篇文章

2026-09-05

密码重置的设计缺陷:登录再强也会被接管账户的5种情形与修复方法

重置流程是让不知道密码的人设置新密码的机制,因此它本身就是一条认证路径。登录加固得再好,只要重置很弱,重置的强度就是你真正的认证强度。5种出问题的形态:可猜测的令牌、永不过期的令牌、留在邮箱里的链接、目标地址可由外部指定的链接(Host 头)、会暴露账户是否存在的响应。实现上的关键是把指南的明确要求和留给你决定的数值分开。

2026-09-05

速率限制与滥用防控:如何设计能挡住暴力破解和费用失控的上限

速率限制失败,通常不是因为上限太松,而是问错了问题。三个问题:按谁计数(IP 可以伪造,也被真实用户共用,所以身份优先)、计什么(只数请求次数会漏掉单次就很昂贵的操作——成本、大小、记录数)、达到上限时怎么处理(粗暴的锁定等于对正常用户的拒绝服务)。NIST 把连续失败上限定为100次,要求用延迟和 CAPTCHA 代替把人拒之门外;OWASP 把第三方服务的费用上限也列入其中,这是防止经济损失的最后一道控制。

2026-06-30

认证与授权的区别:只加登录,并不能保护其他用户的数据

认证=确认『你是谁』;授权=决定『这个人可以做什么』。两者是两回事,只加一个登录并不等于做了授权。数据若没有按所有者(user_id)做收窄,就会变成『登录 = 看到全部数据』——OWASP 排名第一的 Broken Access Control(访问控制缺陷)。再叠加上注册功能一直开放的认证脚手架,陌生人就能注册后进入。防御:把每一条查询都收窄到所有者/关闭不需要的注册/对管理面做纵深防御/在事故发生之前就备好审计与访问日志/检测新注册。

2026-06-28

通行密钥是什么:公开密钥登录、抗钓鱼与同步

通行密钥用私钥签名完成认证,登录服务保存公钥。同步通行密钥可在设备间同步加密的凭据,设备绑定型则不同步。能否构成 MFA 取决于要求的用户验证,设备、同步账户和恢复流程仍需保护。

2026-06-27

密码哈希是什么?用不可逆的单向变换安全保存密码

密码哈希=用不可逆的单向变换来保存密码的方法。明文保存不可取。与加密不同,它无法被解密,这正是优点。但直接使用 MD5/SHA-256 会被彩虹表或暴力破解攻破。正确做法是『每个用户不同的 salt』+『故意做得很慢的专用哈希(bcrypt/Argon2/scrypt)』。不要自己实现,交给标准库。

2026-06-27

如何安全存储密码:哈希与加盐的正确做法

面向服务端的密码安全存储实战指南。先理解明文、加密、裸哈希为什么都不行,再收敛到『为每个用户加盐+故意放慢的专用哈希(首选 Argon2id,其次 bcrypt/scrypt)』。不要自己造轮子,直接用标准函数;成本参数要定期复核;既有的弱哈希在用户登录时重新哈希以完成迁移。

2026-06-12

JWT(JSON Web Token)是什么?带签名令牌的原理与安全用法

JWT 是服务器签名后发放、能够发现篡改的令牌。它由 header.payload.signature 三部分组成,服务器通过签名来校验是否为真品。要点=①必须校验签名并固定期望的 alg(拒绝 alg:none)②内容人人可读,不要放机密③把有效期设短并准备失效策略。解码(读取内容)与校验(用签名确认真伪)是两回事。