主持人注意: 这个问题不适合我们的问题和答案格式,目前适用于 Stack Overflow 的具体性规则. 我们通常使用“历史锁”用于内容仍然有价值的问题. 但是,这个问题的答案是积极维护的,历史锁不允许编辑答案。
基于表格的网站验证
我們認為 Stack Overflow 不僅應該是非常具体的技術問題的資源,而且應該是如何解決常見問題的變化的一般指南。
它应该包括主题如:
如何登录 如何登录 如何保持登录 如何管理Cookie(包括推荐设置) SSL/HTTPS加密 如何存储密码 使用秘密问题 已忘记用户名/密码功能 使用虚假信息 防止跨网站请求漏洞(CSRF) OpenID “记住我” 检查框 浏览器自动完成用户名和密码 秘密 URL(由 digest 保护的公共 URL) C
角色和授权 HTTP 基本验证
请帮助我们:
提示子主题 提交关于这个主题的好文章 编辑官方答案
我不知道是否最好作为答案或评论回答这个问题,我选择了第一种选择。
至于第四部分:第一个答案中的忘记密码功能,我会提到时间攻击。
在记住您的密码表格中,攻击者可能会检查完整的电子邮件列表并检测到已注册到系统(参见下面的链接)。
至于被遗忘的密码表格,我会补充说,这是一个很好的想法,在成功和失败的查询与某些延迟功能之间的平等时间。
https://crypto.stanford.edu/~dabo/papers/webtiming.pdf
我想添加一个非常重要的评论: -
“在企业,内网设置”大多数,如果不是所有上述可能不适用!
许多公司只部署“内部使用”网站,这些网站实际上是“企业应用程序”,这些 URL 只能在“公司内部网络”中解决(据称......)。
当用户密切连接到上述网络时,他们的身份(“身份验证”)是“已知”的,如他们的许可(“授权”)做某些事情......如“访问本网站”。
代币的价值对你毫无意义,但是,如果需要出现,“适当的手段存在”通过它,你的网站可以“(权威)问谁知道(LDAP......等)”关于任何(!)问题,你可能有。
发送信号
如果客户端和服务器之间的连接不加密,那么你所做的一切都是对人中间攻击的脆弱性。 攻击者可以取代输入的JavaScript来打破黑客或向他们的服务器发送所有认证,他们可以听取客户端的回应,并完美定义用户等。
存储密码
安全问题
Cookies可以被盗:它们仅像客户端的机器和其他通信一样安全。它们可以从磁盘上阅读,在网络流量中切割,通过跨网站编写攻击取消,从中毒的DNS中切割,以便客户端将其Cookies发送到错误的服务器。
金融网站,如银行和信用卡,另一方面,只有敏感数据,不应该允许自动登录或低安全模式。