在实际开发中PHP接口开发是PHP常见的技术,可以通过接口进行一些操作,可以访问接口获取数据,给app提供数据接口等,但是如果接口没有加密解密的过程,很容易发生盗用和不安全的操作。

下边简单介绍一下API接口的加密方法

如app要请求用户列表,api是“index.php?module=user&action=list”

app生成token = md5 (‘user’.’list′.’abc12@1qwe~456’) = 5e549e3c1e808125d1a7e0746625abb6;

则实际发起请求为 “index.php?module=user&action=list&token=5e549e3c1e808125d1a7e0746625abb6”

服务器端接到请求用同样方法计算token:

 <?php
  $module = $_GET['module'];
  $action = $_GET['action'];
  $urltoken = $_GET['token']; //app发送过来的token
  $token = md5($module.$action.'abc12@1qwe~456');   if($urltoken != $token){
    exit('error');
  }else{
    echo 'success';
  }

php接口加密的更多相关文章

  1. php-app开发接口加密

    自己平时工作中用到的一套接口加密规则,记录下来以后用: /** 2 inc 3 解析接口 客户端接口传输规则: 1.用cmd参数(base64)来动态调用不同的接口,接口地址统一为 http://a. ...

  2. API接口加密方式说明

    标签: 接口 2016年10月11日 19:41:20 13299人阅读 评论(0) 收藏 举报  分类: API(5)  版权声明:本文为博主原创文章,未经博主允许不得转载. http://blog ...

  3. Ajax请求接口加密研究(针对网页前端的接口安全加密机制研究)

    通常我们在h5前端调用后台接口时,一般是ajax,那么接口的安全成了一个问题. 这里可以肯定的说,前端调用的接口一定要验证! 然后剖析了微信网页版.京东网页版这些,也都是通过接口的形势绑定数据,所以在 ...

  4. 接口加密《二》: API权限设计总结

    来源:http://meiyitianabc.blog.163.com/blog/static/105022127201310562811897/ API权限设计总结: 最近在做API的权限设计这一块 ...

  5. http接口加密《一》:移动应用中,通过在客户端对访问的url进行加密处理来保护服务器上的数据

    来源:http://meiyitianabc.blog.163.com/blog/static/10502212720131056273619/ 我认为,保护服务器端的数据,有这么几个关键点: 不能对 ...

  6. asp.net mvc webapi 实用的接口加密方法

    在很多项目中,因为webapi是对外开放的,这个时候,我们就要得考虑接口交换数据的安全性. 安全机制也比较多,如andriod与webapi 交换数据的时候,可以走双向证书方法,但是开发成本比较大, ...

  7. jwt 接口加密

    什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点 ...

  8. asp.net mvc webapi 实用的接口加密方法(转载)

    在很多项目中,因为webapi是对外开放的,这个时候,我们就要得考虑接口交换数据的安全性. 安全机制也比较多,如andriod与webapi 交换数据的时候,可以走双向证书方法,但是开发成本比较大, ...

  9. Flask实战第42天:注册页面对接短信接口及接口加密

    我们来看下之前写的 sms_captcha函数 @bp.route('/sms_captcha/') def sms_captcha(): params = {'code':'abcd'} resul ...

随机推荐

  1. 开源网络操作系统--VyOS

    User Guide Jump to: navigation, search Contents 1 Introduction 2 Installation 3 Using the Command-Li ...

  2. THE R QGRAPH PACKAGE: USING R TO VISUALIZE COMPLEX RELATIONSHIPS AMONG VARIABLES IN A LARGE DATASET, PART ONE

    The R qgraph Package: Using R to Visualize Complex Relationships Among Variables in a Large Dataset, ...

  3. LiteIDE灰调配色方案

    说明 本文写于2017-04-03,使用LiteIDE X31(基于Qt 4.8.5),操作系统为Windows. 使用 LiteIDE下载后解压即可使用.配色方案的所有配置文件都位于liteide/ ...

  4. bug 修复:上传库存时前端回发file_name参数丢失;

    # tmp_file = os.path.join(os.path.abspath('youcart/tmp'), json.loads(request.data).get('file_name')) ...

  5. Java对象的内存布局

    对象的内存布局 平时用java编写程序,你了解java对象的内存布局么? 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域: 对象头 实例数据 对齐填充 对象头 对象头包括两部分信息: ...

  6. php 可变函数

    //可变函数    function Test(){        $arr = func_get_args();       //获取所有参数 ,返回数组    $sum=0;     for($i ...

  7. div中内容无法自动换行问题

    .l-text{ padding:.3em .5em; width:67%; height: auto; /*height:1.3em;*/ border:.1em #2294C3 solid; bo ...

  8. salesforce零基础学习(七十三)ProcessInstanceWorkItem/ProcessInstanceStep/ProcessInstanceHistory浅谈

    对于审批流中,通过apex代码进行审批操作一般都需要获取当前记录对应的ProcessInstanceWorkitem或者ProcessInstanceStep然后执行Approval.process操 ...

  9. mysql CMD命令

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...

  10. PHP把2个二维数组合并一个二维数组

    $a = array(0 => Array(id => 66,class_name => www.iiwnet.com),1 => Array(id => 67,clas ...