A-A+

关于php接口中要验证的app_key

2018年01月26日 PHP技术文章 评论 3 条 阅读 0 views 次

相信不少的用户都接触过php接口中的app_key,这只是一个验证的token,这个小程序到底是干什么用的呢,是要验证php接口权限的,在我们开发项目越来越庞大的时候,php接口就会越来越多,之前只要post数据就可以直接使用接口,导致一个项目被人改了商品的补贴金额,我们知道,如果一个php的接口不去做权限验证的话,任何人如果能猜测到接口的位置,都会加以利用,从而达到自己的目的。

所以像一些大型互联网开放第三方接口,基本上都会有app_key,也就是自己的密钥权限了,有了这个权限,即使别人猜测到了接口的位置,也没有权限去提交任何数据,在每次提交的时候都需要先验证一下app_key权限文件,做得更复杂一些的例如支付宝的验证文件,还有更多的 _key.pem 文件等等。

好了,其实原理很简单,就是在post到接口的时候提交一串我们自定义的字符串而已,验证一下这串字符串是否跟我们定义的一样,如果不一样,则提示暂无接口权限,好了,下面是夏日博客写的一个最为简单的验证api接口token是否正确的权限小程序,如下:

  1.    /** 
  2.     * 验证API接口token是否正确 
  3.     * @return bollean 
  4.     */  
  5.    static public function is_token(){  
  6.     $app_key = $_POST['app_key'];  
  7.       
  8.     $is_open = true;  
  9.     $access_token = 'D9532F8A-0D72-4F99-868C-B78465ECD934';  
  10.     if(false === $is_openreturn true;  
  11.       
  12.     if($app_key != $access_tokenreturn false;  
  13.     //www.xiariboke.net  
  14.     return true;  
  15. }  

我们只要在接口处include进去这个文件,另外加上验证片段就ok了,验证php代码如下:

  1. $is_token = \Helper_Tool::is_token();  
  2. if(false === $is_token) \Helper_Tool::stop(-99, '暂无该接口权限');  

就是一个很简单的is_token接口验证权限的功能,这个只是一个简单的功能,我们可以在这个基础上做得更复杂一些,比如做成.pem类的文件等等。

标签:

3 条留言  访客:3 条  博主:0 条

  1. 挖模板

    很有用的技术,学习了

  2. qq昵称

    夏日博客终于可以访问了!

    • smiling

      嗯,已经备案成功了。

给我留言