tp5開發介面 介面引數過濾驗證規則

2021-09-13 00:04:46 字數 1499 閱讀 3940

1.上文參考 介面安全設計-上

2. 安全設計基礎上,增加引數過濾驗證規則

<?php

use think\request;

use think\controller;

// 引數過濾,需要的核心類

use think\validate;

class common extends controller

/*** [check_time 驗證是否超時]

* @param [array] $arr [包含時間戳的引數陣列]

* @return [json] [檢測結果]

*/public function check_time($arr)

if (time()-intval($arr['time'])>600)

} /**

* [check_token 驗證token(防止資料被篡改)]

* @param [array] $arr [全部請求引數]

* @return [json] [token驗證結果]

*/public function check_token($arr)

// api 請求端的token

// 伺服器端生成的 token :先從引數中剔除token

unset($arr['token']);

$service_token = '';

foreach ($arr as $key => $value)

$service_token = md5('api_' . $service_token . '_api'); //服務端生成的token

// dump($service_token);

// 對比token,返回結果

$this -> return_msg(400,'token不正確');

} }/**

* [check_params 驗證引數 引數過濾]

* @param [array] $arr [除time和token外的所有引數]

* @return [return] [合格的引數陣列]

*/public function check_params($arr)

// 如果正確,通過驗證

// $this->params = $arr;

return $arr;

} /**

* [return_msg api資料返回]

* @param [int] $code [結果碼 200:正常 / 4**:資料問題 5**:伺服器問題]

* @param string $msg [介面要返回的]

* @param [array] $data [介面要返回的資料]

* @return [string] [最終的json資料]

*/public function return_msg($code,$msg='',$data=)

}

tp5介面開發

tp5號稱為api開發設計的高效能框架 介面請求的順序為 客戶端請求 匹配路由 資料解密 驗證身份 查詢快取 驗證引數 前置中介軟體 控制器 邏輯處理 資料加密 返回資料 後置中介軟體 路由 使用tp5內建路由規則,特別建議完全匹配路由 身份驗證 驗證簽名,簽名規則自定義,在api介面基類中定義 引...

tp5實現資料介面

注 以下內容均已預設配置好資料庫連線且所有表都在同一資料庫中 資料介面 model層 資料介面檔案 namespace use think db class inface 根據表名分頁查詢100條資料 public function getonehundreddata page table 根據表名...

request mysql 介面 TP5介面開發

開啟debug除錯模式 正式上線建議關閉 config.php 應用除錯模式 設定輸出型別 index.php class index public function index data name steven age 24 return json code 0,msg 操作成功 data dat...