文档章节

PHP微信开发入门(一)

Pulsar-V
 Pulsar-V
发布于 2016/07/05 08:55
字数 266
阅读 141
收藏 0
PHP

 

微信的接入在填写服务器URL时指向TOKEN验证的php文件,列如http://localhost/wlink.php

  • 验证示例代码
<?php
//如果接收到验证信息则调用valid()函数进行验证
if (isset ( $_GET ['echostr'] )) {
	valid ();
} else {
        //如果接收到的是微信客户端的消息则实例化回复类将OPENID传递给回复类的responseMsg()方法.
	@$Wechart = new Answer();
	@$openid = $_GET ['openid'];
	@$Wechart->responseMsg ( $openid );
	}



//验证TOKEN后输出验证
function valid() {
	$echoStr = $_GET ["echostr"];
	if (checkSignature ()) {
		echo $echoStr;
		exit ();
	}
}
//验证TOKEN算法
function checkSignature() {
	if (! defined ( "TOKEN" )) {
		throw new Exception ( 'TOKEN is not defined!' );
	}
	$signature = $_GET ["signature"];
	$timestamp = $_GET ["timestamp"];
	$nonce = $_GET ["nonce"];
	$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;
	}
}
?>

通过上述代码,我们就能通过微信的Token验证,在公众平台上面完成接入了。

© 著作权归作者所有

共有 人打赏支持
Pulsar-V

Pulsar-V

粉丝 58
博文 136
码字总数 118621
作品 1
成都
后端工程师
私信 提问
你应该用3个小时学会编程

文章摘要: 人每天都在进行编程工作,编程对于人来说是很自然的. 你完全有能力在3个小时内学会编程. 也有必要闪电般的学会编程,以确认你是否喜欢这一行,并降低学习. 本文中的实验者–一个0基础...

燕十八
2014/01/07
0
0
微信公众号开发入门中遇到的坑

微信公众号开发和正常的API开发区别不是很大,区别在于:我们需要按照他的一些规定输出(echo 打印) XML数据,大体思路如下: 所有的入口都是调你的 index.php (主页)API ,区别在于不同的...

满损谦益
2017/12/05
0
0
微信小程序视频教程

微信小程序视频教程,微信小程序项目实战,微信小程序基础入门教程 本文出自 “php ecshop 二次开发” 博客,请务必保留此出处http://phpecshop.blog.51cto.com/6296699/1862940 NideShop微信小...

ch10mmt
2016/10/18
0
0
从前端到后台,开发一个完整功能的小程序

《微信小程序开发入门》专栏前面的文章主要介绍了小程序前端的开发,对于一个较复杂和完整功能的小程序都是需要后台的支撑的,比如数据的获取和存储、逻辑的处理等。 后台的开发,可以选择P...

anda0109
2017/06/15
0
0
微信公众平台开发入门教程

关键字:微信公众平台开发 作者:方倍工作室 在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序、MySQL数据库、计算机网络通讯、及HTTP/XML/CSS/JS等基础。 我们将使用微信公众账...

方倍工作室
2013/06/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Windows同步对象Event和Linux的条件变量

最近在看一些同步对象模拟的东东,特别对在Windows下如何模拟条件变量折腾了很久。 1 Windows同步对象Event 微软有一个很有意思的同步对象,某种程度上和Linux的条件变量很相似。但秉承微软一...

shzwork
12分钟前
0
0
从上往下打印出二叉树的每个节点,同层节点从左至右打印。

//第一种做法 public class Solution { public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { ArrayList <Integer> li=new ArrayList<Integer>(); ArrayList <TreeN......

南桥北木
22分钟前
0
0
linux 服务管理 Crontba、Ntpdate、Logrotate、Supervisor

crond linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。 另外, 由于使用者自己也可以设置计划任务,所以,...

狼王黄师傅
52分钟前
3
0
Sobel算子和Scharr滤波器

Sobel算子在数学上的本质是微分,对离散信号,是求邻域内的增量。 基本原理:在图像上,对图像信号在某点进行微分,表示图像的某个特征(如,强度、色调或者饱和度)在该点的变换程度。以强度...

yepanl
今天
2
0
Jenkins API 使用

Jenkins 是一款流行的开源持续集成工具,可以用来做一些软件开发的自动化工作,如打包,测试,自动部署等。 Jenkins 中有 view 和 job 的概念, view 相当于组, job 则是具体的任务。 view...

YanWen
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部