首页 新闻 会员 周边

微信公众平台 服务端怎么验证消息来自微信而非恶意攻击

0
[已解决问题] 解决于 2015-02-28 16:38

微信开发者模式接入成功后接收用户消息:

此后,每次开发者接收用户消息的时候,微信也都会带上前面三个参数(signature、timestamp、nonce)访问开发者设置的URL,开发者依然通过对签名的效验判断此条消息的真实性。效验方式与首次提交验证申请一致。

问题是现在接收到了用户发送过来的消息,但是怎么验证消息来自微信。

也就是怎么在POST数据中找到signature、timestamp、nonce 三个参数的内容。

      [HttpPost]
        public void InterFace(FormCollection collection)
        {
            StreamReader sr=  new StreamReader(Request.InputStream);
            using (StreamWriter sw = System.IO.File.CreateText(@"D:\3.txt"))
            {
                sw.WriteLine(sr.ReadToEnd());//这里读到的全是用户消息内容,并没有微信SDK说的那三个验证参数
              
            }
        }
大芝麻的主页 大芝麻 | 初学一级 | 园豆:4
提问于:2015-02-27 22:21
< >
分享
最佳答案
0

            string signature = Request["signature"];
            string timestamp = Request["timestamp"];
            string nonce = Request["nonce"];

奖励园豆:5
nicky0227 | 小虾三级 |园豆:1069 | 2015-02-27 23:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册