
一、先明确哪些入口需要重点保护
很多网站只关注管理后台,却忽略了用户登录、找回密码、短信验证码、OAuth 回调、接口令牌申请等入口。实际加固时,应先列出所有会产生身份认证行为的 URL,并区分普通访问、敏感操作和管理员操作。对于后台登录页,建议避免使用过于常见的固定路径;对于 API 登录接口,则需要单独限制来源、频率和失败次数。
二、限速策略比单纯验证码更基础
验证码可以阻挡一部分自动化请求,但它不应该是第一道防线。更稳妥的做法是在 Web 服务器、应用层或 WAF/CDN 层配置频率限制。例如同一 IP 在一分钟内连续失败超过一定次数时,临时降低访问频率;同一账号连续失败时,增加二次验证或短时间冻结登录尝试。这样既能减少暴力破解,也能避免验证码被频繁触发影响正常用户。
- 按 IP、账号、设备指纹三个维度分别统计失败次数。
- 管理员入口使用更严格的阈值,普通会员入口使用更温和的策略。
- 对代理池攻击不要只依赖 IP,应结合账号失败次数和 User-Agent 异常。
三、验证码要放在合适的触发点
登录页一打开就强制验证码,容易降低体验;完全不使用验证码,又会增加自动化撞库风险。较好的方案是动态触发:首次登录保持简洁,当同一 IP 或账号出现连续失败、异常地区、异常设备、短时间高频请求时,再展示验证码或二次验证。对于后台管理员账号,可以直接启用双因素认证,把密码泄露后的风险降到最低。
四、日志审计必须能回答三个问题
登录安全日志不只是记录“成功”或“失败”。一份可用的审计日志,至少要能回答:谁在尝试登录、从哪里登录、为什么被拦截。建议记录账号、IP、时间、地区、浏览器特征、失败原因、触发的防护策略和请求 ID。日志中不要保存明文密码、验证码或完整令牌,避免日志泄露造成二次风险。
- 每天检查管理员账号是否存在异常失败记录。
- 发现同一账号多地高频失败时,及时重置密码并检查权限。
- 将严重异常写入告警渠道,例如邮件、企业微信或监控平台。
五、定期复盘登录入口配置
网站上线后,登录入口策略应至少每月复查一次。复查内容包括:后台路径是否暴露、默认管理员账号是否停用、弱密码是否清理、失败日志是否增长异常、验证码服务是否稳定、二次验证是否覆盖关键账号。对于长期无人使用的账号,应及时禁用或降低权限。
注册
登录控制台
