zoukankan      html  css  js  c++  java
  • php api 接口token!

    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:

    这样就判断了请求url参数是合法的,允许访问。关键是接口token参数的构造。

    还有一种方法用到cookie,这种情况则不适用于读取接口数据的应用场景,适合在浏览器中访问接口。

    1.请求头里带用户username和password,到服务器端做验证,通过才继续下边业务逻辑。

    优点:防止了服务器端api被随意调用。
    缺点:每次都交互用户名和密码,交互量大,且密码明文传输不安全。

    2.第一次请求,要求username和password,验证通过,种cookie到客户端,app保存cookie值。

    每次请求带上cookie。

    点评:和pc上浏览器认证的原理一样了。

  • 相关阅读:
    Java中OutOfMemoryError(内存溢出)的情况及解决办法
    php strtotime函数服务器和本地不相同
    Object传入String类型和其他
    Java静态变量,常量,成员变量,局部变量
    Vector使用
    Java反射机制
    List和ArrayList,LinkList的区别
    phpstrtotime()对于31日求上个月有问题
    PGsql解决时差24H
    drawable 另外一种形式dimens.xml
  • 原文地址:https://www.cnblogs.com/v-nice/p/10077702.html
Copyright © 2011-2022 走看看