TP接口token

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

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;
            }
	 }

       }

?>


阅读更多
个人分类: 接口
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

TP接口token

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭