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

       }

?>


TP开启令牌验证

开启令牌验证保证数据表单提交数据只能提交一次,有效防止表单的重复提交等安全防护。这就保证了提交数据的唯一性。在Tp中,其原理是系统会自动在带有表单的模板文件里面自动生成以TOKEN_NAME为名称的隐...
  • u011341352
  • u011341352
  • 2015年08月08日 09:07
  • 2207

TP5微信开发地址验证中的配置失败或者token验证失败的解决办法

在使用TP5做微信开发时大家一定遇到过配置失败或者token验证失败的情况,而且使用日志打印参数进行签名算法验证都是真确的。 这个问题让我苦恼了好久。最终发现,在我们验证签名是输出了随机字符串 ec...
  • hayixia606
  • hayixia606
  • 2017年04月24日 16:48
  • 2306

关于tp框架token

thinkphp框架自带有token功能,token可以说是非常强大,他可以防止一些CSRF(Cross-site request forgery)跨站请求伪造攻击,具体什么是CSRF大家可以去百...
  • qq_38410991
  • qq_38410991
  • 2018年01月06日 15:44
  • 18

api接口token验证

接口特点汇总: 1、因为是非开放性的,所以所有的接口都是封闭的,只对公司内部的产品有效; 2、因为是非开放性的,所以OAuth那套协议是行不通的,因为没有中间用户的授权过程; 3、有...
  • li_mancheng
  • li_mancheng
  • 2017年05月10日 11:03
  • 6266

Token验证详解

为什么使用Token验证:   在Web领域基于Token的身份验证随处可见。在大多数使用Web API的互联网公司中,tokens 是多用户下处理认证的最佳方式。   以下几点特性会让你在程序中...
  • woshihaiyong168
  • woshihaiyong168
  • 2016年10月19日 11:03
  • 13660

tp5 微信授权登录

因为工作需要自己用tp5封装了微信授权登录功能,参考书籍为方倍的微信开发书。 本文章作为一个记录方式,防止自己忘记,如果能对哪个小伙伴儿一点帮助那就更好了。 授权登录在数据库有一张微信用户表,需要体现...
  • qq_38013755
  • qq_38013755
  • 2017年11月22日 08:39
  • 2118

Thinkphp5 微信公众号token验证不成功的原因

最近要启动微信项目,上个月就开始了解微信的开发,这个月要启动项目,配置微信公众号信息一直失败。为此,我甚至手工写了微信提交过来的记录,如: ×tamp=1510210523&nonce...
  • tulouguli
  • tulouguli
  • 2017年11月11日 23:44
  • 181

tp3.2 接口跨域问题

1.在框架目录ThinkPHP\Library\Think\Controller.class.php中 2.下图中header中的就是跨域的链接...
  • cxy_x
  • cxy_x
  • 2017年09月05日 17:30
  • 604

TP 框架实现支付宝接口功能

最近做系统,需要实现在线支付功能,毫不犹豫,选择的是支付宝的接口支付功能。这里我用的是即时到帐的接口,具体实现的步骤如下: 一、下载支付宝接口包 下载地址: https://doc.open.a...
  • qq_33808550
  • qq_33808550
  • 2016年10月23日 18:58
  • 2628

TP开启令牌验证

开启令牌验证保证数据表单提交数据只能提交一次,有效防止表单的重复提交等安全防护。这就保证了提交数据的唯一性。在Tp中,其原理是系统会自动在带有表单的模板文件里面自动生成以TOKEN_NAME为名称的隐...
  • u011341352
  • u011341352
  • 2015年08月08日 09:07
  • 2207
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TP接口token
举报原因:
原因补充:

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