分享微信驗證ASPX.Net代碼:C#如何校驗URL有效性成為微信開發(fā)者 - 如何驗證URL有效性? 站長求助:哪位做過微信公眾賬號開發(fā)呢,驗證成為開發(fā)者如何弄都過不去? 應網友邀請,0430站長驗證測試成功后,回答: 核心提示:網站開發(fā)者需要用 timestamp、nonce、Token 加密后 比對 signature字符串;如果一樣,則校驗成功,即通過微信驗證成為開發(fā)者。同時,也歡迎大家添加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; } } 代碼解釋: 申請消息接口 在微信公眾平臺網站的高級功能 – 開發(fā)模式頁,點擊“成為開發(fā)者”按鈕,填寫URL和Token,其中URL是開發(fā)者用來接收微信服務器數(shù)據的接口URL。Token可由開發(fā)者任意填寫,用作生成簽名(該Token會和接口URL中包含的Token進行比對,從而驗證安全性)。 URL指的是能夠接收處理微信服務器發(fā)送的GET/POST請求的地址,并且是已經存在的,現(xiàn)在就能夠在瀏覽器訪問到的地址,這就要求我們先把公眾賬號后臺處理程序開發(fā)好(至少應該完成了對GET請求的處理)并部署在公網服務器上。Token后面會詳細說明。 Token是自己設定的。 也就是說要完成接口配置,只需要先完成微信服務器的GET請求處理就可以?是的。 那這是為什么呢?因為這是微信公眾平臺接口中定義的。 微信公眾號申請具體地址:http://mp.weixin.qq.com 微信公眾號詳細介紹(0430):http://www./cn/web231754/
微信公眾平臺于2012年08月23日正式上線,曾命名為“官號平臺”和“媒體平臺”,創(chuàng)造更好的用戶體驗,形成一個不一樣的生態(tài)循環(huán)。
|