由《图解HTTP》反省的测试用例思考之错误消息toast提示

背景

之前一直在想做登录操作的时候,为什么给用户的toast并不是那么明确,比如:

  • “用户名未注册” / “用户名错误”等明确告知用户名有问题;
  • “密码输入错误”/ “密码错误”等明确告知用户名有问题;

。。。

基本都是:“用户名或密码错误” 有点模糊两可之意

看了《图解HTTP》之后就懂了^_^

正解

在“第11章 web的攻击技术”中,有一小节提到 ‘不正确的错误消息处理’和‘密码破解’

不正确的错误消息处理(Error Handling Vulnerability)的安全漏洞是指,Web应用的错误信息内包含对攻击者有用的信息:

  • a.Web应用抛出的错误消息;
  • b.数据库等系统抛出的错误消息。

密码破解攻击(Password Cracking)即算出密码,突破认证。

密码破解有以下两种手段:

  • a.通过网络的密码试错(穷举法,字典攻击);
  • b.对已加密密码的破解(指攻击者入侵系统,已获得加密或散列处理的密码数据的情况);

根据以上2个定义,排列组合场景就会出现用户的信息泄露了;

如果明确地告诉普通用户,你的用户名错误,对普通用户来说易用性这一块很不错,只要修改一下就好了;

对黑客来说也降低了破解的难度系数,但对于自身软件来说安全系数就是低了,对用户的损失就是更大。

所以一般就数据库里报错的一般是加密,但是有些根据用户量以及业务场景一般是不加盐的,还是提倡能加些盐

对测试的简单思考

有时候前端显示的很完美,什么都告诉用户,提高用户的易用性,是否会对自身软件来说是种负担,假设按照明确告知用户哪哪哪错了,只是可能只是多些了一些if...else,对性能来说其实并不划算,有时候模糊些就好,只需要一个“||”就能解决,代码层面上更为整洁,对于测试来说,说所需要执行的用例,是没有差,该考虑的场景还是要走到一遍(如果看了代码,其实还是能少走很多测试场景^_^),对于安全性来说这个就需要考虑了。

有时候开发的同学不喜欢一些toast,喜欢报错的关键词显示,哈哈,这个一是对用户不友好,二可能会泄露一些被攻击的信息。测试同学还是需要督促。


多思考,多学习。哪天就相通了。(像小孩问妈妈这是为什么,妈妈总是说等你长大了就知道了<偷笑>)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值