【微信开发】微信公众平台接入
2018-06-22 05:07:16来源:未知 阅读 ()
成为微信开发者的第一步——微信公众平台接入
第一步:填写服务器配置
在开发->基本配置处启用服务器配置。修改配置
其中URL是开发者用来接收微信消息和事件的接口URL。
Token可由开发者可以任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)。
EncodingAESKey由开发者手动填写或随机生成,将用作消息体加解密密钥。
点击提交
第二步:验证服务器地址的有效性
开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带四个参数:
signature ------ 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
timestamp ------时间戳
nonce ------ 随机数
echostr ------ 随机字符串
开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。
//获取接口Token值和UID $memberModel = D('Member'); $userinfo = $memberModel -> getWechatInfo(WID); //获取用户的微信账号信息 $weixinLogic = D('Weixin','Logic'); $weixin = $weixinLogic -> detail(WID); $weixin = new ThinkWechat($userinfo['token']);
在微信公共函数里面,检验signature:
if(IS_GET){ $this->auth($token) || die('token信息错误'); exit($_GET['echostr']); } /** * 对数据进行签名认证,确保是微信发送的数据 * @param string $token 微信开放平台设置的TOKEN * @return boolean true-签名正确,false-签名错误 */ private function auth($token){ /* 获取数据 */ $data = array($_GET['timestamp'], $_GET['nonce'], $token); $sign = $_GET['signature']; /* 对数据进行字典排序 */ sort($data, SORT_STRING); /* 生成签名 */ $signature = sha1(implode($data)); return $signature === $sign; }
注意:此后用户每次向公众号发送消息、或者产生自定义菜单点击事件时,开发者填写的服务器配置URL将得到微信服务器推送过来的消息和事件,然后开发者可以依据自身业务逻辑进行响应,例如回复消息等。
? 著作权归作者所有
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- PHP多进程之pcntl_fork的实例详解 2020-03-22
- php调用C代码的实现方法 2020-03-02
- win7搭建Linux+PHP 开发环境 2020-03-01
- php判断是否为json格式的方法 2020-02-24
- php导出excel格式数据问题 2020-02-21
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash