主持人注意: 这个问题不适合我们的问题和答案格式,目前适用于 Stack Overflow 的具体性规则. 我们通常使用“历史锁”用于内容仍然有价值的问题. 但是,这个问题的答案是积极维护的,历史锁不允许编辑答案。

基于表格的网站验证

我們認為 Stack Overflow 不僅應該是非常具体的技術問題的資源,而且應該是如何解決常見問題的變化的一般指南。

它应该包括主题如:

如何登录 如何登录 如何保持登录 如何管理Cookie(包括推荐设置) SSL/HTTPS加密 如何存储密码 使用秘密问题 已忘记用户名/密码功能 使用虚假信息 防止跨网站请求漏洞(CSRF) OpenID “记住我” 检查框 浏览器自动完成用户名和密码 秘密 URL(由 digest 保护的公共 URL) C

角色和授权 HTTP 基本验证

请帮助我们:

提示子主题 提交关于这个主题的好文章 编辑官方答案


当前回答

我称之为Dummy Field(虽然我没有发明这个,所以不要相信我)。

<input type="text" name="email" style="display:none" />

例子:

在人类的情况下:用户不会看到字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母

我在客簿上使用了这个方法与CAPTCHA相结合,从那时起我没有看到任何垃圾邮件。我以前只使用了一种CAPTCHA解决方案,但最终,每小时约有五个垃圾邮件。

我相信这也可以用得很好的登录/验证表格。

你也可以稍微改變這一點,讓愚蠢的領域可見,但在屏幕邊界之外,但這完全取決於你。

其他回答

我称之为Dummy Field(虽然我没有发明这个,所以不要相信我)。

<input type="text" name="email" style="display:none" />

例子:

在人类的情况下:用户不会看到字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母字母

我在客簿上使用了这个方法与CAPTCHA相结合,从那时起我没有看到任何垃圾邮件。我以前只使用了一种CAPTCHA解决方案,但最终,每小时约有五个垃圾邮件。

我相信这也可以用得很好的登录/验证表格。

你也可以稍微改變這一點,讓愚蠢的領域可見,但在屏幕邊界之外,但這完全取決於你。

发送信号

如果客户端和服务器之间的连接不加密,那么你所做的一切都是对人中间攻击的脆弱性。 攻击者可以取代输入的JavaScript来打破黑客或向他们的服务器发送所有认证,他们可以听取客户端的回应,并完美定义用户等。

存储密码

安全问题

Cookies可以被盗:它们仅像客户端的机器和其他通信一样安全。它们可以从磁盘上阅读,在网络流量中切割,通过跨网站编写攻击取消,从中毒的DNS中切割,以便客户端将其Cookies发送到错误的服务器。

金融网站,如银行和信用卡,另一方面,只有敏感数据,不应该允许自动登录或低安全模式。

我想添加一个建议我已经使用,基于防御在深度. 你不需要有相同的 auth&auth 系统的管理员和普通用户. 你可以有一个单独的登录表格在一个单独的URL执行单独的代码的请求,这将提供高的特权。

但是,我不推荐这一点,除了公共,低值服务. 这是一个问题与上面的其他答案的一些 - 不要尝试重新实施服务器侧验证机制 - 这个问题已经解决,并支持大多数主要的浏览器. 不要使用Cookies. 不要存储任何东西在自己的手动滚动数据库. 只是问,根据请求,如果请求是验证的。

这是一个非常艰难的部分. 唯一合适的解决方案是网络的信任. 例如,你加入医院作为医生. 你创建一个网站主办在某个地方与你的照片,你的护照号码,和一个公共密钥,并用私人密钥黑客所有这些。 你然后访问医院和系统管理员看你的护照,看看照片是否匹配你,然后黑客网页

然而,它是创建新的帐户的唯一安全方式,可以访问没有自我创建的有价值的信息。

在黑客时,不要使用快速黑客算法,如MD5(有许多硬件实施)。使用SHA-512等东西。

越快你可以创建黑客,越快任何粗强度检查器可以工作。 因此,缓慢的黑客会减慢粗强。 缓慢的黑客算法会使粗强无效的长密码(8 个数字 +)