大部分网站基本都需要用户名和密码才能登录,并不是谁来能使用我的网站,这其实也是一种安全机制;对应的对外提供的股票交易软件 接口,接口其实也需要这么一种机制,并不是谁都可以调用,需要使用股票交易软件 接口,接口的用户需要在后台开通appid,提供给用户相关的密钥;在调用的股票交易软件 接口,接口中需要提供appid+密钥,服务器端会进行相关的验证;
黑名单
appid+appsecret方式
白名单
如果此appid进行过很多非法操作,或者说专门有一个中黑系统,经过分析之后直接将此appid列入黑名单,所有请求直接返回错误码;黑名单可以是appid黑名单也可以是ip黑名单。ip黑名单是对某个ip有非法攻击调用股票交易软件 接口,接口时,将该ip加入黑名单中,直接不允许调用。
令牌桶限流令牌桶算法的原理是系统以一定速率向桶中放入令牌,填满了就丢弃令牌;请求来时会先从桶中取出令牌,如果能取到令牌,则可以继续完成请求,否则等待或者拒绝服务;令牌桶允许一定程度突发流量,只要有令牌就可以处理,支持一次拿多个令牌;漏桶限流漏桶算法的原理是按照固定常量速率流出请求,流入请求速率任意,当请求数超过桶的容量时,新的请求等待或者拒绝服务;可以看出漏桶算法可以强制限制数据的传输速度;计数器限流计数器是一种比较简单粗暴的算法,主要用来限制总并发数,比如数据库连接池、线程池、秒杀的并发数;计数器限流只要一定时间内的总请求数超过设定的阀值则进行限流;具体基于以上算法如何实现,Guava提供了RateLimiter工具类基于基于令牌桶算法:RateLimiterrateLimiter=RateLimiter.create;以上代码表示一秒钟只允许处理五个并发请求,以上方式只能用在单应用的请求限流,不能进行全局限流;这个时候就需要分布式限流,可以基于redis+lua来实现;
api股票交易软件 接口,接口相关的安全设计文章到此处就结束了,基本可以涵盖所有涉及到的股票交易软件 接口,接口安全场景。接下来将开始深入阅读学习jvm调优相关资料。
合法性校验包括:常规性校验以及业务校验;常规性校验:包括签名校验,必填校验,长度校验,类型校验,格式校验等;业务校验:根据实际业务而定,比如订单金额不能小于0等;
黑白名单
安全架构系列文章是从api股票交易软件 接口,接口的安全性设计引入的,讨论了api的业务安全-幂等性设计,传输安全,加签名和加解密,介绍了对称加密,非对称加密的常用算法的实现。继续回到api股票交易软件 接口,接口安全性设计方案,除了上述处理外,我们还可以在业务上增加股票交易软件 接口,接口调用的限制,防止和阻止异常情况的非法调用api。
数据合法性校验
除了上述的股票交易软件 接口,接口权限限制和安全控制外,股票交易软件 接口,接口调用还有并发数限制。本来就是真实的用户,并且开通了appid,但是出现频繁调用股票交易软件 接口,接口的情况;这种情况需要给相关appid限流处理,常用的限流算法有令牌桶和漏桶算法;常用的限流算法包括:令牌桶限流,漏桶限流,计数器限流;
白名单一般是指ip白名单。因为appid本身就是要系统生成,存在于系统中的,已经相当于白名单了。白名单使用的场景一般是服务端与服务端之间的调用,如第三方服务端调用股票交易软件 接口,接口提供方。此时第三方可以确认为一个或某几个ip。可以设置ip白名单,在上线的时候,添加白名单后,运行股票交易软件 接口,接口调用,不在白名单里的请求ip,不允许调用。对于客户端调用服务端股票交易软件 接口,接口的,一般使用黑名单,因为客户端的ip是变化是多个的。只要黑名单控制住非法ip即可。
股票交易软件 接口,接口限流
appid方式是由股票交易软件 接口,接口提供方,给股票交易软件 接口,接口调用方的授权,类似于提供一个身份id。一般appid配合着accessToken来使用,先使用appid和appsecret来调用股票交易软件 接口,接口,获取accessToken,在后续的其他股票交易软件 接口,接口调用中,传递accessTokeaccesToken一般需设置有效期,过期后需重新获取新的值。微信api股票交易软件 接口,接口就是这种机制。
api股票交易软件 接口,接口主要讨论需要互联网暴露出来或者提供给第三方的股票交易软件 接口,接口服务。在讨论了加密,加签名,幂等性设计后,本文再补充常用的安全性处理方式。
文章为作者独立观点,不代表观点