您的位置:首页 > php > php接口安全的三个机制

php接口安全的三个机制

来源:https://www.py.cn/php/jiaocheng/34460.html 更新时间:2022-08-10

文章导读:1、Token授权机制,用户使用用户名密码登录后,服务器将Token返回给客户端。2、时间戳超时机制,用户每次请求都会带上当前时间戳timestamp。服务器收到timestamp后,与当前时间进行比较,如果时间差大于一定时间(例如5分钟)。

1、Token授权机制,用户使用用户名密码登录后,服务器将Token返回给客户端。

2、时间戳超时机制,用户每次请求都会带上当前时间戳timestamp。

服务器收到timestamp后,与当前时间进行比较,如果时间差大于一定时间(例如5分钟),则认为请求无效。时间戳超时机制是防御DOS攻击的有效手段。

3、签名机制。

在Token和时间戳中加入其他请求参数,然后用MD5或SHA-1算法加密。

实例

/**
 * @desc 接受参数处理
 */
private function dealParam(){
    //接受header参数--系统参数
    $systemParam=getAllHeadersParam();
    //接受body数据--业务参数(json格式)
    $data=file_get_contents('php://input');
    
    //读取配置文件中的私钥信息
    $api_apiKey=C('api_apiKey');
    $privatekey=$api_apiKey[$systemParam['token']];
 
 
    $arr['token']    =$systemParam['token'];        //服务端分配的标识(不同客户端需使用不同的标识)
    $arr['timestamp']=$systemParam['timestamp'];    //时间戳,UTC时间,以北京时间东八区(+8)为准
    $arr['version']  =$systemParam['version'];      //版本号
    $arr['sign']     =$systemParam['sign'];         //签名
    $arr['source']   =$systemParam['source'];       //来源(0-安卓/1-IOS/2-H5/3-PC/4-php/5-java)
    $arr['data'] =json_decode($data,true); //业务参数json格式
    $arr['method'] =$data['method']; //访问接口,格式:模型名.方法名
 
    return $arr;
 }

以上就是php接口安全的三个机制,希望对大家有所帮助。

0.088904s