news 2026/6/23 22:59:29

有关登录安全,测试人该知道些什么?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
有关登录安全,测试人该知道些什么?

作为测试,给我们一个关键词“登录”,我们可能想到的用例设计更多的是什么用户名、密码校验是否合法、是否为空、是否正确等等之类的场景。

但在如今信息化的时代,“登录安全”已经是一个很热门且普遍的的话题了,今天给大家简单分享一下个人了解到的关于「登录安全」基础知识。

概念普及

在了解登录安全之前,给大家普及两个基础概念:“撞库”和“防撞库”。

百度到的原文介绍是:“撞库是黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登录的用户。并且很多用户在不同网站使用的是相同的帐号密码,因此黑客可以通过获取用户在A网站的账户从而尝试登录B网址,这就可以理解为撞库攻击。”

换个角度大家可以这样理解,很多用户的账号和密码汇总在一起,形成了一个“库”,很多不法分子为了盗取到用户的账号信息,会绞尽脑汁通过各式各样的手段去不断尝试获取用户的真实账号信息。这个“不断的尝试获取”的动作过程,我们可以称之为“撞”。

有不法分子的“撞”,当然就有了正式使者的“防”,为了提高用户的账号信息安全,程序员(正义使者)在设计登录时会通过一系列的手段来一层一层的保护用户的账号信息安全。

常见的登录安全问题

这边给大家普及下常见的可判定为账号可能存在被盗取的场景:

1、同一个密码&不同账号,出现错误多次;

2、同一个账号&不同密码,出现错误多次;

3、频繁获取短信验证码。

以上的场景存在两个共性,分别是“短时间范围内” and“同一个设备”,因为黑客或者其他不法分子,在不断尝试获取用户账号密码信息时基本是在同一个设备且短时间内高频尝试不同的账号密码组合。

解决方案

基于上面的常见登录安全问题的共性(“短时间范围内” and“同一个设备”),有其对应的明确的解决方案:

1、通过IP限制同一个用户的短信的请求上限;

2、通过IP限制同一个用户密码错误次数上限;

3、通过账号限制同一个用户密码错误的上限。

测试用例设计

作为一个专业的测试人员,在进行用例设计之前,除了关注UI设计稿、需求文档外,还可以关注开发提供的技术文档,在条件允许下能够进一步的了解到开发对应的基础实现原理,在一定程度上能够帮助我们提高自己设计的测试用例的覆盖度,以便于我们能够更全面、更深入的进行测试,从而提高我们产品的质量。

从开发的技术文档上我们不需要了解很深的技术原理,只需要了解以下几个问题:

1、通过什么控制登录风险?

2、用户的登录行为被判定为风险后,会有对应的什么措施?

3、用户的登录行为被判定为风险后,什么能恢复使用?

4、有没有可申诉的途径?

最后根据上面这个思路补充对应的功能测试用例即可,这边简单罗列部分测试用例:

另外,在补充业务测试用例的同时,同步可以关注对应的接口请求规范,为了尽可能获取到用户的真实IP,接口在设计时可能会引用HTTP请求头规范,要求下游在请求时透传X_FORWARDED_FOR,以此来区分真实的用户IP。

这个可以作为一个接口测试关注点,减少由于IP上报错误而引起风险误判,导致正常用户无法正常使用产品功能的情况。

从HTTP请求中获得用户的真实IP地址有两个方法,一个是从Remote Address中获得,另一个是从X-Forward-For中获得,但他们的安全性和使用场景各有不同,想要了解更多知识大家可以根据关键字去自行扩展~

每天学习一点点,迟早能从菜鸟变大佬~

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 18:41:31

Oracle回滚与撤销技术

在Oracle数据库中,回滚(Rollback)与撤销(Undo)是保障事务一致性、数据可恢复性的核心机制。Undo通过记录数据修改前的前镜像(Before Image),实现事务回滚、读一致性保障和故障恢复&a…

作者头像 李华
网站建设 2026/6/23 0:15:39

我的mybatis-flex自定义查询为什么没有参数

问题分析MyBatis-Flex 自定义查询未传递参数可能由以下原因导致:参数未正确绑定到 SQL 语句方法参数与 SQL 占位符名称不匹配动态 SQL 条件未生效检查参数绑定方式确保在 XML 或注解中正确引用参数。若使用 Param 注解,需在 SQL 中通过 #{paramName} 引用…

作者头像 李华
网站建设 2026/6/23 18:36:24

揭秘Dify混合检索缓存机制:为何缓存清理如此重要?

第一章:揭秘Dify混合检索缓存机制的核心原理Dify 的混合检索缓存机制通过结合向量相似度检索与关键词匹配,显著提升了问答系统的响应速度与准确性。该机制在底层利用缓存预加载和智能命中策略,有效降低了大模型调用频率,从而节省计…

作者头像 李华
网站建设 2026/6/23 14:38:46

计划赶不上变化?错!是计划“根本赶不上开工”

计划的价值不仅在于预测,还在于提供应对变化的框架。制定这样的计划,是每个项目成功的第一步。如果计划总是被变化打乱,很可能它不是一份合格的工作指南。 一、哪些计划注定会失败? 脱离现实的里程碑 “六个月内打造行业领先平台…

作者头像 李华
网站建设 2026/6/23 18:23:49

应用冷启动优化

当应用启动时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用, 这种启动方式就叫做冷启动(也就是首次打开)而热启动是当应用程序已经在后台运行,用户再次打开应用程序时,应用…

作者头像 李华
网站建设 2026/6/23 7:39:22

java_base_(接口篇)省流版

在原神的开发场景中,接口(Interface) 是核心的抽象设计工具,用于定义 “行为规范” 而非具体实现,能让代码具备高扩展性、低耦合性 —— 比如不同角色的技能释放、不同怪物的攻击逻辑、不同道具的使用效果,…

作者头像 李华