1.驗(yàn)證token,將公眾號(hào)url引入服務(wù)器地址
url為項(xiàng)目地址
token為自定義秘鑰,任意
encodingAESKey為加密后結(jié)果
2.修改index代碼颤陶,將微信服務(wù)器發(fā)來(lái)的請(qǐng)求參數(shù),加密原樣返回(基于ThinkPHP,獲取參數(shù)寫(xiě)法是框架寫(xiě)法褪储,如果非TP框架,需要微調(diào)慧域,當(dāng)然要調(diào)用函數(shù)****** Weixin()**)
//驗(yàn)證是否來(lái)自于微信
public function check_Weixin(){
//微信會(huì)發(fā)送4個(gè)參數(shù)到我們的服務(wù)器后臺(tái) 簽名 時(shí)間戳 隨機(jī)字符串 隨機(jī)數(shù)
$signature=$this->request->get('signature');
$timestamp=$this->request->get('timestamp');
$nonce=$this->request->get('nonce');
$echostr=$this->request->get('echostr');
//在后臺(tái)填寫(xiě)的token鲤竹,要一致
$token="xxxxxx";
// 1)將token、timestamp昔榴、nonce三個(gè)參數(shù)進(jìn)行字典序排序
$tmpArr=array($nonce,$token,$timestamp);
sort($tmpArr,SORT_STRING);
// 2)將三個(gè)參數(shù)字符串拼接成一個(gè)字符串進(jìn)行sha1加密
$str=implode($tmpArr);
$sign=sha1($str);
// 3)開(kāi)發(fā)者獲得加密后的字符串可與signature對(duì)比辛藻,標(biāo)識(shí)該請(qǐng)求來(lái)源于微信
if($sign==$signature) {
echo$echostr;
}
}
//當(dāng)然,需要要調(diào)用這個(gè)函數(shù)互订,直接寫(xiě)在index里也可以吱肌,看喜好
public function index(){
return $this->check_Weixin();
}