来源:未知 时间:2017-05-17 12:02 作者:xxadmin 阅读:次
[导读] PHP接口开发是PHP常见的技术,可以通过接口进行一些操作,可以访问接口获取数据,给app提供数据接口等,但是如果接口没有加密解密的过程,很容易发生盗用和不安全的操作。 下面例...
PHP接口开发是PHP常见的技术,可以通过接口进行一些操作,可以访问接口获取数据,给app提供数据接口等,但是如果接口没有加密解密的过程,很容易发生盗用和不安全的操作。 下面例子简单讲解PHP接口开发加密技术: 如app要请求用户列表,api是“index.php?module=user&action=list” app生成token = md5sum (‘user’.’2012-11-28′.’#$@%!’.list) = 880fed4ca2aabd20ae9a5dd774711de2; 则实际发起请求为 “index.php?module=user&action=list&token=880fed4ca2aabd20ae9a5dd774711de2” 服务器端接到请求用同样方法计算token: $module = $_GET['module']; $action = $_GET['action']; $token = md5sum($module.date('Y-m-d',time()).'#$@%!*'.$action); if($token != $_GET['token']){ alarm('access deny'); exit(); } 这样就判断了请求url参数是合法的,允许访问。关键是接口token参数的构造。 还有一种方法用到cookie,这种情况则不适用于读取接口数据的应用场景,适合在浏览器中访问接口。 1.请求头里带用户username和password,到服务器端做验证,通过才继续下边业务逻辑。 优点:防止了服务器端api被随意调用。 缺点:每次都交互用户名和密码,交互量大,且密码明文传输不安全。 2.第一次请求,要求username和password,验证通过,种cookie到客户端,app保存cookie值。 每次请求带上cookie。 点评:和pc上浏览器认证的原理一样了。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com