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验证,在公众平台上面完成接入了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏calvin

jira webhook 事件触发并程序代码调用jenkins接口触发构建操作

开发管理工具触发站点构建事件,事件处理中需要调用Jenkins接口开始构建动作。 我的应用场景: 使用jira作为管理工具,在jira中创建自定义的工作流来...

7923
来自专栏王磊的博客

OpenCV环境搭建(一)

此环境搭建是OpenCV的python(一下简称py)开发环境搭建,建立在py3的环境和语法上实现的。 windows系统搭建 系统环境:windows 10...

7389
来自专栏北京马哥教育

chkconfig命令详细介绍

命令介绍: chkconfig命令用来更新、查询、修改不同运行级上的系统服务。比如安装了httpd服务,并且把启动的脚本放在了/etc/rc.d/init.d目...

3678
来自专栏不想当开发的产品不是好测试

Establishing SSL connection without server's identity verification is not recommended. According to

Spring boot 启动提示: Establishing SSL connection without server's identity verifica...

24010
来自专栏Crossin的编程教室

喏,你们要的 PyCharm 快速上手指南

0、前言 Pycharm 作为一款针对 Python 的编辑器,配置简单、功能强大、使用起来省时省心,对初学者友好,这也是为什么编程教室一直推荐新手使用 Pyc...

3164
来自专栏信安之路

Window 提权基础

再加上个人的理解写出的关于 Windows 提权基础的文章,其中有些地方因为不太实用所以做了适当修改,感谢 @hl0rey 的帮助和建议。

2570
来自专栏小狼的世界

将iPod中的音乐拷贝到Mac中

iPod 中有很多音乐是从原来的电脑中同步进去的,新的电脑中没有 iTunes 的音乐库。所有的音乐都在 iPod 中,会不会突然有一天坏掉了,还是备份到电脑中...

1311
来自专栏大魏分享(微信公众号:david-share)

Oracle11g RAC双NFS仲裁容错方案

说明: 整理文档时发现自己在2010年写的一个RAC容灾方案,觉得有一些用,分享出来。当时为了验证此方案,做了很多PoC。方案相对比较复杂,但是也提供了一种思路...

5489
来自专栏技术小黑屋

关于Android中App的停止状态

很多人遇到过广播收不到的问题,比如Google Play推广安装广播没有收到等,诸如这些问题,又都是什么原因呢,这篇文章将进行回答.

1411
来自专栏蓝天

libssh2编译错误(configure error: cannot find OpenSSL or Libgcrypt)解决方法

如果按标准的configure执行: ./configure --prefix=/data/users/mooon/third-party/libssh2 -...

2574

扫码关注云+社区

领取腾讯云代金券