微信验证.Net代码:C#如何校验URL有效性成为开发者

分享微信验证.Net代码:C#如何校验URL有效性成为微信开发者 - 如何验证URL有效性?

站长求助:哪位做过微信公众账号开发呢,验证成为开发者如何弄都过不去?

应网友邀请,0430站长验证测试成功后,回答:

核心提示:网站开发者需要用 timestamp、nonce、Token 加密后 比对 signature字符串;如果一样,则校验成功,即通过微信验证成为开发者。同时,也欢迎大家添加0430全球网站库微信公众号: www0430com ,特别感谢大家的支持。

   public string Token = "www0430com";
   protected void Page_Load(object sender, EventArgs e)
   {
     if (string.IsNullOrEmpty(Request.QueryString["echoStr"])) { Response.End(); }

     string echoStr = Request.QueryString["echoStr"].ToString();
     
     if (CheckSignature())
     {
       if (!string.IsNullOrEmpty(echoStr))
       {
         Response.Write(echoStr);
         Response.End();
       }
     }

   }

   private bool CheckSignature()
   {
     string signature = Request.QueryString["signature"].ToString();
     string timestamp = Request.QueryString["timestamp"].ToString();
     string nonce = Request.QueryString["nonce"].ToString();
     string[] ArrTmp = { Token, timestamp, nonce };
     Array.Sort(ArrTmp);   //字典排序  
     string tmpStr = string.Join("", ArrTmp);
     tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
     tmpStr = tmpStr.ToLower();
     if (tmpStr == signature)
     {
       return true;
     }
     else
     {
       return false;
     }
   }

代码解释:

申请消息接口

在微信公众平台网站的高级功能 �C 开发模式页,点击“成为开发者”按钮,填写URL和Token,其中URL是开发者用来接收微信服务器数据的接口URL。Token可由开发者任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)。

URL指的是能够接收处理微信服务器发送的GET/POST请求的地址,并且是已经存在的,现在就能够在浏览器访问到的地址,这就要求我们先把公众帐号后台处理程序开发好(至少应该完成了对GET请求的处理)并部署在公网服务器上。Token后面会详细说明。

Token是自己设定的。

也就是说要完成接口配置,只需要先完成微信服务器的GET请求处理就可以?是的。 那这是为什么呢?因为这是微信公众平台接口中定义的。

微信公众号申请具体地址:http://mp.weixin.qq.com

微信公众号详细介绍(0430):http://www.0430.com/cn/web231754/



原文地址:http://www.0430.com/cn/web237491/  

你可能感兴趣的:(微信验证.Net代码:C#如何校验URL有效性成为开发者)