Site Loader

LOCATION

VanY_Y

    时间过的真快啊,又过了一年,在这里祝大家新的一年身体健康,万事如意。继上次第一篇教程,相差差不多有半个月的时间才更新,在此向大家表示抱歉,因为要回家过年的嘛!好了,我们直接进入主题先。今天我们将要介绍的是关于微信公众平台的接口信息配置,是哪个位置的配置呢?我们来看看下面这个图:

    

就是配置上图这个信息,这个配置有什么用呢?简单来说,就是告诉微信公众平台,我这个微信公众号是针对哪个网站做开发的。OK,那我们做这个检验要怎么做呢?下面我们来讲讲这个检验的步骤

  1. 步骤一

    我们要在服务器上写好一个检验文件,这个检验是要填写那些数据呢?我们来看看下面的代码:

<?php
namespace Home\Controller;
use Think\Controller;
//定义TIKEN
define("TOKEN", "vany");

class WeixinController extends Controller {

    public function index(){
    	//接受检验数据数据
    	$echoStr = I("echostr");
		if($this->checkSignature()){
			echo $echoStr;
			exit;
		}
		$this->display();
    }
    private function checkSignature(){
    	//微信加密签名
		$signature = I("signature");
		//时间戳
		$timestamp = I("timestamp");
		//随机字符串
		$nonce = I("nonce");	
		//获取自定义TOKEN		
		$token = TOKEN;
		//加密组合字符串
		$tmpArr = array($token, $timestamp, $nonce);
		sort($tmpArr, SORT_STRING);
		$tmpStr = implode( $tmpArr );
		$tmpStr = sha1( $tmpStr );

		//判断服务器加密前面和微信加密签名是否一致
		if( $tmpStr == $signature ){
			return true;
		}else{
			return false;
		}
    }                                                                                                                                                                                                                                                                       }

我们先看看每个接受数据的介绍:

以上的代码在官网有DEOM,我只是稍微调整了一下,整合到自己的TP框架中,从上面可以看见,我们需要定义一个TOKEN,这个TOKEN和我们刚刚在微信公众平台需要天的TOKEN是一致的(区分大小写),另外,在做这个校验的时候需要注意一下几点:

①、在加密组合字符串的时候,三个数据的位置是有关系,排序顺序是按照字符串首字母进行排序。

②、校验时,返回的数据应该是echo 接受的echostr数据,而不是直接返回 true/false。

Post Author: Vany

我是一个喜欢追求技术的小伙,在大学开始之前,自己还是一个电脑白痴,对于电脑,只会开关机,但是由于自己的兴趣,我在选专业的时候,全部选择了计算机专业,其实我也不知道为什么这样不顾家人的反对去做这个决定。上了大学后,我在大一的时候开始接触计算机硬件,设计的领域包括了电脑维修,系统封装等等。在大二的时候,我才开始接触PHP,一开始的时候还不是很懂,也没什么资源,所以学习只能靠老师讲一些特别基础的东西。在大二的一段时间,自己对服务器特别感兴趣,但是资源问题,只能自己慢慢研究,后来通过各种百度,通过翻墙获得了自己的第一个域名,.top域名。后来还弄了一个免费的虚拟空间,在结合域名,我自己弄了一个静态的个人网站。大三的时候,我在网上找到兄弟连这个网站,网站上面有一些免费的视频,特别适合新人看。从那以后,我一直在看教学视频去提高自己的能力,在后来,经过面试八连碰壁,才发现自己之前学的是那么肤浅,而且工作也没有自己想象的那么简单,但是高兴的是,目前工作的那家公司录用了我,在这个公司我真的学会了很多东西,包括一些cms网站的建设啊,微商城开发啊,还有最让自己兴奋的就是微信接口的开发等等这些。即使学了不少东西,但有些时候还是会觉得自己还是个小白,所以我必须不断的提升自己

发表评论

电子邮件地址不会被公开。