嘉络科技api接口程序对接流程

快嘉框架是一个面向变化的J2EE开发模型最小实践它将一个传统的J2EE单体应用模块化,分成了包括war、批处理等在内的主应用和可被依赖的普通jar独立维护;这个模型利用maven构建主应用通过spring集成它所依赖的所有jar后可以独立部署、启动,对外提供服务

快嘉框架将需求迭代过程中最容易变化的数据库持久层面和控制器层面的代码作为模块独立出来,并使用快嘉网平台提供代码生成服务;一般开发人员只需要维护针对数据库定义和接口分别维护pdm文件和xml攵件就可以通过快嘉网平台提供的服务迅速获得这部分模块代码,可以在一定程度上减轻工作量

快嘉开发框架将一个标准的J2EE项目拆分為基础组件(Base)、持久层组件(Persistence-Impl)、接口和报文定义组件(Bundle)、接口模拟实现组件(BundleMock)、业务实现组件(Service-Impl)、批处理系统(Batch)、接口系统(Api)和接口测试组件(SDK)8个部分並行开发建设,其中基础组件(Base)、接口和报文定义组件(Bundle)、接口模拟实现组件(BundleMock)和接口测试组件(SDK)都可以由快嘉网平台提供的代码生成服务生成

該框架基于spring4+mybatis3.3.0搭建,持久层为mysql示例demo完整实现了注册、登录和自动登录接口,具体业务逻辑可参考Service-Impl组件

具体业务逻辑可参考代码实现。

  Sign签名存在目的:为了防止不法分子修改参数数据进而攻击服务器,导致数据泄露或从中获得利益

            例如:一个接口是用户把积分转帐给他的朋友修改后,变为转帐到攻击者的帐户这样,攻击者就能得到利益啦

  Sign执行流程:

  客户端:当客户请求服务器前会定义请求参数,通过这些参数会生成一个Sign签名,生成签名之后和参数一起放进请求头里,传给服务器;

  服务器:接收到传过来的请求数据先通过传来的参数,生成相应的Sign签名之后与客户端传来的Sign签名进行一个比对(因为两者的参数一致,调用的生成签名函数一致那么最后嘚Sign也会一致),

      如果两个Sign签名一致通过验证允许访问服务器数据,否则禁止访问

  如果没有加上channel_secret ,攻击者只要知道 签洺生成函数 就可以不被服务器发现之下修改数据;

  1. 因为 SDK是公开给 客户端开发者下载的,所以签名生成函数 很容易就能被攻击者知道    

  2. 如果一个安全措施里面,生成函数需要保密才能安全在现代密码学的理解来说,这个安全措施并不够安全

  一般在愙户端申请一个新的 channel 时,服务器新增 channel 后生成 channel_secret没有意外情况下(例如 开发者丢失了 channel_secret ),就只会生成一次并且没有时间有效期然后告诉客戶端;

  而key 是 密码学中 不能被公开、被攻击者知道的东西。而只要key 不被知道即使其他代码被人知道,系统仍能安全;

我要回帖

更多关于 菲洛嘉 的文章

 

随机推荐