检测接口加密类
来源:互联网 发布:程序员团队名称大全 编辑:程序博客网 时间:2024/06/01 07:11
namespace Api\Controller;
//API基础控制层
use Think\Controller;
class BaseController extends Controller
{
protected
public static $code = array(
0 => “成功”,
public function __construct(){ parent::__construct(); self::checkEncrypt()? : self::response(-32003); self::checkIsPost()? :self::response(-32009);}/* * 检测接口加密的access_token是否合法 */public static function checkEncrypt(){ $request_data['access_token'] = isset($_REQUEST['access_token']) && trim($_REQUEST['access_token']) ? trim($_REQUEST['access_token']) : ""; $request_data['time'] = isset($_REQUEST['time']) && trim($_REQUEST['time']) ? intval($_REQUEST['time']) : 0; if( $request_data['access_token'] != md5(self::$secret.$request_data['time']) ){ $flag = false; } if( !$request_data['access_token'] || !$request_data['time']){ $flag = false; }else{ $flag = ture; } return $flag;}/* * 检测接口有限期是否超时 */public static function checkValidTime(){ $request_data['time'] = isset($_REQUEST['time']) && trim($_REQUEST['time']) ? intval($_REQUEST['time']) : 0; // var_dump($request_data['time'] - time()); $flag = ture; if( $request_data['time'] - time() > 2 || $request_data['time'] - time() < 0){//每次接口 2 秒有效 $flag = false; } return $flag;}public static function check($request_data){ self::checkPara($request_data)? :self::response(-32001);}/** * 验证是否是Post请求 */protected function checkIsPost(){ if (IS_POST) { return true; } else { return false; }}/** * 计算时间差/两个时间日期相隔的天数,时,分,秒 * $begin_time 为第一个时间戳 * $end_time 为第二个时间戳 */static function timediff($begin_time, $end_time){ if ($begin_time < $end_time) { $starttime = $begin_time; $endtime = $end_time; } else { $starttime = $end_time; $endtime = $begin_time; } $timediff = $endtime - $starttime; $days = intval($timediff / 86400); $remain = $timediff % 86400; $hours = intval($remain / 3600); $remain = $remain % 3600; $mins = intval($remain / 60); $secs = $remain % 60; return array( "day" => $days, "hour" => $hours, "min" => $mins, "sec" => $secs );}/* * 检测接口参数是否有效 */public static function checkPara($request_data){ $flag = true; foreach ($request_data as $key => $value) { if(!isset($value)){ $flag = false; } } //var_dump($request_data); return $flag;}public static function response($code,$data=null,$message=null){ $json_array["code"] = intval($code); $json_array["message"] = $message? $message : self::$code[$code]; $json_array["time"] = time(); if($data){ $json_array["data"] = $data; } echo json_encode($json_array); exit;}//获取用户信息public function getUser($token){ $MemberInfo=M('User')->field('id,nickname,head_img as img,source,money,userno,birthday')->where(array("token"=>$token))->find(); return $MemberInfo?$MemberInfo:array();}//获取上传的任务图片// public function getTaskImg($info){// $imgarray=json_decode($info['img'],true);// foreach ($imgarray as $key => $value){// $upinfo='';// $base64=$imgarray[$key]['image'];// $upinfo = uploadImgBase($base64,$floder='TaskApp');// if($upinfo==-1){// $this->response(-32022);// }else if($upinfo==-2){// $this->response(-1);// }// $image.=trim(str_replace('./Uploads/','',$upinfo)).',';// }// $taskimg=rtrim($image,",");// return $taskimg;// }//获取上传的任务图片public function getTaskImg($info){ $imgarray=json_decode($info['img'],true); // var_dump($imgarray);exit; $taskimg=''; foreach ($imgarray as $key => $value){ $upinfo=''; $base64=$imgarray[$key]['image']; $upinfo = uploadImgBase($base64,$floder='TaskApp'); if($upinfo==-1){ $this->response(-32022); }else if($upinfo==-2){ $this->response(-1); } $taskimg.=trim(str_replace('./Uploads/','',$upinfo)).','; } $taskimg=rtrim($taskimg,","); return $taskimg;}
}
阅读全文
0 0
- 检测接口加密类
- MD4加密接口
- 加密数据传输接口
- spring实现接口加密
- 移动应用接口加密
- postman加密请求接口
- Python-接口加密
- 接口加密实现
- 接口访问加密方式
- Api接口加密策略
- 网络接口的检测
- Linux内核加密接口分析
- LKT4208 SDKEY接口加密卡
- SATA接口硬加密器
- IOS加密api数据接口
- API接口加密方式说明
- php接口安全加密认证
- PHP接口开发加密技术
- Retrofit2实现源码分析
- JDK自带工具keytool生成ssl证书
- 给一个url获得后台的数据
- 分词工具实验(代码示例)
- Qt 控件添加阴影效果
- 检测接口加密类
- 外部表与管理表
- 汉诺塔递归实现与栈实现
- 网络基础-字节序
- SSL P2822 I Will Like Matrix!
- S5PV210开发 -- UART 详解
- ROS学习问题集锦(一)_机器人仿真(by古月)学习遇到的问题
- SSO之CAS单点登录实例演示
- 1.5.2 Prime Palindromes 回文质数