TP接口token

原创 2015年07月06日 19:15:23

接口地址很容易被其他人所乱用,因此在客户端和服务端 以一样的方式生成加密串,再进行比较。从而确保安全

TP框架

 _initialize、public function __construct() 不好使,因此写一个公共类,在每个接口第一句话执行一下,该验证类


1、公共类 TokenAction.class.php

<?php 

	class TokenAction extends action{
		public function tokenValidate(){
			$token = $_POST['token'];
            $server_token = md5('@*daike_quanApp');
            if(empty($token)){
                $result=array('err_no' =>0000,'err_msg'=>"Illegal request");    
                echo json_encode($result); exit;
            }

            if($token!=$server_token){
                 $result=array('err_no' =>1111,'err_msg'=>"Illegal request");    
                echo json_encode($result); exit;
            }
		}

	}

?>

2、调用接口时,调用公共类TokenAction.class.php的方法 

R('Token/tokenValidate')


或在构造方法里写验证方法,每次执行类中的方法时,先执行构造方法,从而实现token的一 一验证

public function __construct(){
            R('Token/tokenValidate');  //验证是否合法调用接口
        }



========================================================或在方法时调用

   //显示我的收藏客户 接口(调用第几页,默认是第一页)
        public function viewCollect_CustomerList(){          

            R('Token/tokenValidate');// 此处调用 

            $p= $_POST['page'];    
            $userid = $_POST['userid'];              

            if(empty($userid)){
                $result=array('err_no' =>1004,'err_msg'=>"userid22 is empty");   //用户id为空
                echo json_encode($result); exit;
            }               
            
            if($p){
                redirect('/ApiCollect/Collect_Customerlist/p/'.$p.'?userid='.$userid);           
            }else{                                    
                redirect('/ApiCollect/Collect_Customerlist/?userid='.$userid);                                 
            }            
        }




TOKEN类,接收到客户端 来的值并验证是否正确

<?php 

	class TokenAction extends action{
	   public function tokenValidate(){
		
            $token = $_POST['token'];           
            $server_token = md5('futong@*daike_quanApp2015');
            if(empty($token)){
                $result=array('err_no' =>0000,'err_msg'=>"Illegal request1");    
                echo json_encode($result); exit;
            }

            if($token!=$server_token){
                 $result=array('err_no' =>1111,'err_msg'=>"Illegal request2");    
                echo json_encode($result); exit;
            }
	 }

       }

?>


相关文章推荐

PHP+TP框架实现微信获取JS-SDK所需的access_token,并全局缓存

微信获取JS-SDK所需的access_token,并全局缓存

Redis+接口+token+Sign+时间戳 Demo

  • 2017年03月24日 16:15
  • 5.68MB
  • 下载

一个简单的 TP 3.2 中 天气查询的接口 (restful)

首先定义路由规则: 参考:TP3.2开发手册 路由=》路由定义 用到动态查询 getFieldBy方法 //针对某个字段查询并返回某个字段的值 效果查看: 实现代码: 1、下面先开启路由 'U...

微信接口获取token失败40125错误

  • 2016年12月07日 16:13
  • 206B
  • 下载

支付宝接口原理和流程 使用TP框架

tp框架的支付教程http://www.thinkphp.cn/code/240.html 重点来在线支付接口的原理和流程: 1、用户向商城网站发起确认订单的请求 2、商城网站接收到请求保...

微信企业号php验证token接口

  • 2014年10月19日 14:10
  • 7KB
  • 下载

支付宝接口代码(TP框架)

最近做系统,需要实现在线支付功能,毫不犹豫,选择的是支付宝的接口支付功能。这里我用的是即时到帐的接口,具体实现的步骤如下: 一、下载支付宝接口包 下载地址: https://b.alipay.c...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TP接口token
举报原因:
原因补充:

(最多只允许输入30个字)