美文网首页Just Do IT
小论app开发中接口的规范和安全性设计

小论app开发中接口的规范和安全性设计

作者: 蜗牛MVP | 来源:发表于2016-05-27 16:09 被阅读731次

    这里不在叙述php的基本语法,在app开发中,app只作为数据的承载页面也就是显示功能,而不进行数据的处理和存储功能。

    4个规范:

    一、接口采用统一请求和数据返回格式,建议数据请求格式为post,json,返回格式为json,json具有相当强大的跨平台性。

    第一种:app 传输的 json格式

    $jsoncode = file_get_contents("php://input");

    $this->json = json_decode($jsoncode, true);

    $uid = intval($this->json['uid']);

    第二种:直接post传输

    $uid = intval($_POST['uid']);

    返回的json函数:

    /**
    * json 输出结果
    * expire = 1,表示token已过期,//2表示异地登录
    */
    public function ajaxmsg($msg="",$status=1,$expire=0){
    $json['status'] = $status;
    $json['expire'] = $expire;
    if(is_array($msg)){
    foreach($msg as $key=>$v){
    $json[$key] = $v;
    }
    }elseif(!empty($msg)){
    $json['message'] = $msg;
    }
    exit(json_encode($json));
    }

    二、接口安全,一定要增加接口验证,所有接口采用统一的加密方式:比如用 model/controller/action + 密钥加密的 access,客户端传递的access加密规则和服务器应保持一致,加密字符串可以直接写在app的配置文件中。

    $api_access = md5(md5(strtolower(MODULE_NAME . '' . ACTION_NAME . '' . $this->encode)));
    $access = $this->json['access'];
    if($access=='' || $access !== $api_access){
    $this->ajaxmsg("未授权访问");
    }

    三、开发 API 和 WEB 有一定的区别,php的 error和report错误,会导致app的直接奔溃,所以api开发需要error_reporting(0)。

    四、app中的部分页面,能用 网页 来代替就用网页,减少app的开发工作量,比如网站公告,新闻资讯,页面。

    相关文章

      网友评论

        本文标题:小论app开发中接口的规范和安全性设计

        本文链接:https://www.haomeiwen.com/subject/bdcfdttx.html