• 技术文章 >PHP >PHP教程

    php接口安全的三个机制

    小妮浅浅小妮浅浅2021-10-22 10:21:09原创12198

    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接口安全的三个机制,希望对大家有所帮助。更多php学习指路:php教程

    专题推荐:php 接口
    上一篇:php工厂模式的使用 下一篇:php中生成器是什么

    相关文章推荐

    • 如何使用php中codeIgniter框架?• php中ginkgo框架是什么?• php中trim函数是什么?• php中的算法有哪些?• php中协程shell_exec如何使用?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网