65.9K
CodeProject 正在变化。 阅读更多。
Home

您的 Web 登录表单的十个安全提示

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.73/5 (21投票s)

2005年8月10日

3分钟阅读

viewsIcon

92130

避免页面被黑客攻击的技巧

引言

这些是关于您在构建网站时登录表单的软件安全提示。

WebLogin的十个安全提示

  1. 永远不要给潜在的攻击者提示

    如果用户ID错误或密码错误,请在两种情况下都给出相同的消息。 在这种情况下,过于用户友好的反馈可能是一个错误。

    例如,一个典型的错误是添加这样的注释:“您的用户ID错误”或“给定的密码不属于该用户ID。”

    您必须使用更模糊的消息,例如:“用户ID或密码错误。”

  2. 不要将用户密码以纯文本形式存储在数据库中

    无论您采取多少安全措施,都没有完美的安全系统。 使用哈希方法存储密码,例如 SHA256 或其他方法。 尽量使用强大的哈希函数。

    您也可以加密密码,但这会引发处理密钥的问题。

  3. 要求长密码,8 个字符或更多

    密码必须包含数字、字母(大写和小写)和其他符号的混合。 构建一个正则表达式验证器来强制执行这些要求。

  4. 强制您的用户定期更改密码

  5. 在 3 次或更多次尝试后阻止登录

    您很可能受到密码猜测机器人的攻击。 暂时阻止 IP 一段时间,1 小时或更长时间,具体取决于您的安全设置。 在极端情况下,阻止帐户,并通过电子邮件通知所有者。

    在 IIS 上,您可以使用 IIS ADSI Provider Interfaces 的 IISIpSecurity 接口。 在 MSDN 上阅读相关内容:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/42f71810-275a-4410-b2b6-e8ad57c8fb8f.asp

  6. 检查您密码恢复的实践

    始终向用户返回一个新密码,并强制他在恢复后更改密码。 不要使用问题来记住密码,人们通常会将密码作为答案。 另外,一些问题很容易猜到。 在这种情况下,身份盗窃更容易。

  7. 不要使用电子邮件地址进行用户识别

    用户电子邮件是一个非常公开的属性,容易获得或猜测。 给用户不同的标识符。 允许用户更改标识符。

  8. 不要给用户机会通过电话或在线聊天会话通过帮助台恢复密码

    与机器相比,人们更容易被社会工程欺骗。

  9. 避免测试或 CAPTCHA

    它们会损害可用性,并给人一种虚假的安全感。 双因素身份验证(Token 或 Key 生成器也同样无用)。

    但是,图灵测试对于非关键流程很有用,例如,如果您考虑可用性问题,则可以避免垃圾邮件。 正在开发一些智能图灵测试,因此这一点在不久的将来会发生变化。

  10. 将您的密码与生物识别技术结合起来

    这可以为您提供更强大的安全性。

    阅读这些文章
    为什么必须避免 CAPTCHA:http://www.w3.org/TR/turingtest/
    双因素身份验证:http://www.schneier.com/essay-083.html

历史

© . All rights reserved.