全国咨询/投诉热线:400-618-9090

首页技术文章正文

软件测试当中短信接口避免轰炸的方式

更新时间:2018-11-30 来源:黑马程序员 浏览量:

请求合法性校验:

请求合法性校验指的就是指怎么样去避免API被非法的调用,例如在系统里面有一个短信接口,就应该要去考虑到怎样避免这个短信接口不被短信轰炸机滥用,可以采用的方式有下面几种:

1. 验证码,验证码目的是用于防范恶意注册、恶意破解密码、恶意灌水等非法操作,验证码可以使用Google的CAPTCHA解决方案。

2. Token令牌,Token主要用于自动登录,也就是在不需要用户频繁登录的情况下保证访问的合法性。常见的流程是使用用户名和密码登陆后,服务端返回一个token,后续客户端每次方法都带上这个token,当这个token超过一定的时间(token有效期)没有被使用,则要求客户端重新输入用户名和密码重新获取token,服务端也通过请求的IP地址等一些信息判断客户端的网络环境和设备环境是否发生变化,如果发生变化,也要求客户端重新输入用户名和密码,重新获取token。

3. IP、MAC地址限制,只允许某一个MAC地址、IP或IP段的客户端进行访问请求,只能一定程度上起到防范作用。

4. User-Agent和Referer限制,只能一定程度上起到防范作用。

数据合法性校验:

数据合法性的校验主要是为了避免异常数据和注入攻击。

1. 不依赖客户端的数据校验,不管客户端有没有进行数据校验,服务端都要做合法性校验。

2. 用白名单的方式验证数据合法性,也就是根据一系列已知的正确值或规则来验证请求数据,不尝试检验某些特定的错误。

数据加密:

数据加密主要是指对敏感数据进行加密,避免因网络传输过程中的窃听和抓包造成敏感数据泄露,常见方法主要由:

1. 使用HTTPS协议。

2. 对敏感数据采用秘钥进行加密和解密。

接口错误处理:

接口错误处理主要是值对接口的返回结果进行编码,制定统一的错误返回编码,避免因接口错误和异常等原因造成堆栈信息泄露。


接口过载保护:

接口过载保护是指对接口访问频率设置阈值,超出阈值后不予处理,直接返回错误码,可以一定程度上防止CC攻击,过载保护可以通过Web服务器进行控制,也可以通过代码进行控制。

1. Nginx可以通过HttpLimitReqModul来限制单位时间内连接数的模块,使用

limit_req_zone和limit_req指令配合使用来达到限制。 一旦并发连接超过指定数量

,就会返回503错误。HttpLimitConnModul用来限制单个ip的并发连接数,使用

limit_zone和limit_conn指令这两个模块的区别前一个是对一段时间内的连接数限制

,后者是对同一时刻的连接数限制。

2. 可以通过代码的方式来判断,最好基于Redis计数器或者服务端缓存,避免对性能造成影响。

作者:黑马程序员软件测试培训学院
首发:http://test.itheima.com/

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

http://www.itcast.cn/subject/uizly/index.shtml?seozxuids

14天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

20天免费试学

基础班入门课程限时免费

申请试学名额

8天免费试学

基础班入门课程限时免费

申请试学名额

20天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

0天免费试学

基础班入门课程限时免费

申请试学名额

12天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

10天免费试学

基础班入门课程限时免费

申请试学名额
在线咨询 我要报名