最近公司需求是输入一个编号打开一篇文章,所以需要对微信做些开发,虽然微信自带的关键字规则也能实现,但是每发一篇文章就要添加一条规则,编辑人员感觉麻烦,就这样了。
1:成为开发者并回去到APPID和SECRET,TOKEN随意填;
2、验证开发者
微信给出了示例代码,拿来就可以用了;很简单;
wchat.php
/*首次验证*/
public function valid($signature, $timestamp, $nonce)
{
$echoStr = $_GET["echostr"];//随机字符串
$res = $this->check_signature($signature, $timestamp, $nonce);
if($res){
echo $echoStr;
return true;
}else
{
echo "";
return false;
}
}
/*
*每次开发者接收用户消息的时候,微信也都会带上前面三个参数(signature、timestamp、nonce)访问开发者设置的URL,开发者依然通过对签名的效验判断此条消息的真实性。
*$signature 微信加密签名
*$timestamp 时间戳
*$nonce 随机数
*/
private function check_signature($signature, $timestamp, $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;
}
}
index.php
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$hcwechat = new hcWechat();
$hcwechat->valid($signature, $timestamp, $nonce);