通用接口标准规范v1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
…
接口标准规范
目录
接口标准规范 (1)
第1章概述 (3)
第2章基本要求 (3)
信息通讯安全 (3)
;
安全评估 (3)
访问控制 (4)
防恶意代码 (4)
加密 (4)
支持高并发 (5)
可监控 (5)
日志全覆盖 (5)
系统资源的动态扩展 (5)
,
异常处理机制 (5)
业务扩展 (6)
第3章接口通讯方式 (6)
同步请求/应答方式 (6)
异步请求/应答方式 (6)
会话方式 (6)
广播通知方式 (6)
事件订阅方式 (6)
·
文件传输 (6)
可靠消息传输 (6)
第4章传输控制要求 (7)
负载均衡 (7)
伸缩性与动态配置管理 (7)
网络调度 (7)
充分理由 (7)
单一职责 (7)
)
高内聚低耦合 (8)
状态及消息 (8)
控制数据量 (8)
禁止随意拓展参数 (8)
第5章接口技术 (9)
第6章接口规范 (9)
域名规范 (9)
http接口 (9)
…
webservice接口 (9)
API路径规范 (9)
http接口 (9)
webservice接口 (9)
版本控制规范 (9)
http接口 (9)
webservice接口 (10)
API命名规范 (10)
~
新增方法 (10)
删除方法 (10)
修改方法 (10)
获取方法 (10)
获取列表方法 (10)
请求参数规范 (10)
参数需要命名规则 (10)
请求参数加密方法 (10)
`
列表请求特殊规范 (11)
返回数据规范 (11)
第7章接口文档规范 (11)
第8章接口管理 (12)
对接口分类、编码排序。 (12)
在线文档。 (12)
…
$
第1章概述
本文主要为了明确标准和规范,为服务使用方和服务提供方提供开发参考。
/
第2章基本要求
为了保证系统的完整性和健壮性,系统接口应满足下列基本要求:
2.1信息通讯安全
2.1.1安全评估
保证接口的自身安全,通过接口实现技术上的安全控制,做到对安全事件的“可知、可
控、可预测”,是实现系统安全的一个重要基础。
2.1.2访问控制
,
如果客户端很频繁的请求服务器,会给给服务器造成很大的压力,需要对客户端对API的请求做一些限制。比如单位时间内同一IP只能请求多少次。
2.1.3防恶意代码
2.1.
3.1用户名sql注入
例如:用户名sql注入登录名输入:lilei'#
select *from student where user='lilei' and psd='123456'
sql语句就变成了select *from student where user='lilei'#'and psd='123456'(#/--后面的内容都会被注释掉)
2.1.
3.2跨站脚本
例如脚本攻击测试:
@
命令注入:PHP提供部分函数用来执行外部应用程序
异常字符测试:结束符、换行符,针对字符串,在中间插入特殊字符,比如结束符等,服务端没有进行验证
1、调用可执行的系统命令函数。
2、函数活着函数的参数控制。
3、拼接注入命令。
命令注入:PHP提供部分函数用来执行外部应用程序
异常字符测试:结束符、换行符,针对字符串,在中间插入特殊字符,比如结束符等,服务端没有进行验证
[
1、调用可执行的系统命令函数。
2、函数活着函数的参数控制。
3、拼接注入命令。
2.1.4加密
2.1.4.1接口调用方和接口提供方约定好统一的参数加密算法。
(加密方法参照接口规范的请求参数规范)
2.1.4.2接口调用方在调用时把加密后的_sign放在参数中去请求接口。
2.1.4.3接口提供方接到响应后,判断时间戳是不是在有效时间内(这个时间间隔根据
你的安全范围可以是10分钟,5分钟,20秒等,过期失效,前提是需要保证
接口提供方和调用方的服务器时间为准确的网络同步时间)。
2.1.4.4】
2.1.4.5把参数中除了_sign以外的参数进行加密,然后把加密结果和传过来的_sign比较,
相同则执行调用请求。
2.1.4.6如果服务器和客户端的时间没有同步,可以返回错误的同时候在返回一个服务
器的当前时间,客户端接收到该错误后再请求上一个接口,时间则传服务器刚
刚返回的时间。
2.1.4.7涉及到比较重要的信息,可以用AES对value进行加密,防止抓包拉取到上传
的数据。
2.2支持高并发
根据实际情况选择合适的方式方法来实现,可动态通过集群节点进行扩展。
例如:Java的并发包提供了三个常用的并发队列实现,分别是:ArrayBlockingQueue、ConcurrentLinkedQueue 和 LinkedBlockingQueue
2.3可监控
2.3.1.
2.3.2日志全覆盖
2.3.2.1正常运行信息
2.3.2.2异常捕获信息
2.3.2.3日志打印规范
满足运维需求、日志格式统一规范。
2.4系统资源的动态扩展
保证在充分利用系统资源的前提下,实现系统平滑的移植和扩展,同时在系统并发增加时提供系统资源的动态扩展,以保证系统的稳定性。
2.5异常处理机制