微信开发(1)–开发模式

一、填写服务器配置

进入微信后台,进入开发-基本配置-修改配置
fasdf
W(_38]I``S)_3H)$FT`113V

之后就填写自己服务器地址url 和自己的token
_7`(8X7X)FZ5P]0HALWKDGH

 

二、验证消息来自微信服务器

我们配置好上面的步骤提交后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带参数如下表所示gei

那么 我们检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。加密/校验流程如下:

1)将token、timestamp、nonce三个参数进行字典序排序

2)将三个参数字符串拼接成一个字符串进行sha1加密

3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

好了,以上是服务器接入微信的流程,下面我们开始上代码。

 1 public function index(){ 2  3 define("TOKEN", "weixin"); 4  5 if (isset($_GET[‘echostr‘])) { 6 $this->valid(); 7 }else{ 8 $this->responseMsg(); 9 }10 11 }12 13 public function valid()14 {15 $echoStr = $_GET["echostr"];16 if($this->checkSignature()){17 header(‘content-type:text‘);18 echo $echoStr;19 exit;20 }21 }22 23 private function checkSignature()24 {25 $signature = $_GET["signature"];26 $timestamp = $_GET["timestamp"];27 $nonce = $_GET["nonce"];28 29 $token = TOKEN;30 $tmpArr = array($token, $timestamp, $nonce);31 sort($tmpArr, SORT_STRING);32 $tmpStr = implode( $tmpArr );33 $tmpStr = sha1( $tmpStr );34 35 if( $tmpStr == $signature ){36 return true;37 }else{38 return false;39 }40 }

 

相关文章