### 应用层之间的安全机制:
应用token
| 应用名 | 应用token | 值|
| --- | --- | --- |
| app | APPTOKEN | (如)201712061020 |
| api | APPTOKEN | (如) 201712061020 |
应用token,基于各应用间的独立配置文件,每个独立应用之间通信如app应用与api应用进行通信,app需要将自身的APPTOKEN传递到api应用中,api应用将APPTOKEN跟自身的独立配置文件中的APPTOKEN比较是否一致
如果一直通过请求,不一致则是非法请求。
#### 示例:
配置app应用token
~~~
/app/config.php
return array(
//应用独立配置
'APPTOKEN'=>'201712061020',//app应用token
);
~~~
配置api应用token
~~~
/addons/api/config.php
return array(
//应用独立配置
'APPTOKEN'=>'201712061020',//api应用token
);
~~~
#### app应用通过curl请求api接口
~~~
public function index(){
global $_G;
//请求api应用,并把app_token带过去
$api=new Api();
//获取app下面config.php独立配置文件的应用token
$appToken=$_G['config']['APPTOKEN'];
//将appToken做为请求header参数带过去
self::$curl->setHeader('APPTOKEN',$appToken);
$result=$api->get('http://test.calfbbs.com/calfbbs/index.php?m=api&c=Advertisement&a=getAdvertisementList');
}
~~~
#### api应用接收请求并比较token是否一致
~~~
/**
* 应用token验证
*/
public function vaildateAppToken(){
global $_G;
$header=getallheaders();
//验证传递过来的API_TOKEN跟api应用配置的API_TOKEN是否一致
if($_G['config']['APPTOKEN'] !=@$header['APPTOKEN']){
$this->returnMessage(2001,'API_TOKEN验证错误,请检查应用TOKEN是否配置正确',false);
}
}
~~~
这里的应用验证是采用header头参数传递过去
- 新手教程
- 初次安装
- 邮件配置
- 短信配置
- 开发必看
- 前端开发
- 后端开发
- 数据字典
- 用户表
- 回复帖子表
- 帖子表
- 自定义导航表
- 消息通知表
- 分类表
- 广告表
- 点赞记录表
- 第三方注册用户表
- 扩展机制表
- 安全机制
- 应用APPTOKEN
- 用户token机制
- API调用
- 广告管理模块
- 创建广告
- 更新广告
- 删除广告
- 获取广告列表
- 获取单条广告信息
- 响应状态码
- 帖子回复管理模块
- 发布回帖
- 删除回帖
- 编辑回复数据
- 事件贴所有回复
- 回复内容点赞
- 回复内容取消赞
- 帖子下展开用户回复的回复
- 查看用户是否给该评论回帖点过赞
- 导航栏模块管理
- 创建导航栏
- 更新导航栏
- 删除导航栏
- 导航栏列表
- 帖子管理模块
- 创建帖子
- 更新帖子
- 删除帖子
- 获取帖子列表
- 更新访问量/回复数
- 后台帖子列表
- 帖子详情
- 本周热门列表
- 置顶列表
- 获取登陆用户发帖数据
- 无限分类
- 添加分类
- 修改分类
- 删除分类
- 分类列表
- 用户管理模块
- 修改密码
- 添加会员
- 获取会员列表
- 更新资料
- 删除会员
- 获取会员的详细信息
- 登录
- 获取用户token
- 用户中心
- 最新回答
- 最新提问
- 图片处理
- 上传图片
- 删除图片
- 消息接口
- 删除消息
- 获取消息
- 更新消息为已读
- 新增消息
- 删除所有消息
- 邮箱接口
- 单条发送
- 第三方注册管理模块
- 添加第三方注册会员
- 获取第三方注册用户详细信息
- 删除第三方注册用户
- 更新第三方注册用户
- 验证短信登录
- 扩展模块接口
- 获取扩展列表接口
- 获取扩展信息接口
- 添加扩展信息接口
- 删除扩展接口