微信二次分享的問題 帶有引數的php頁面

roytime發表於2019-02-16

實際上,在開發微信應用的過程中,轉發給朋友和分享到朋友圈,經常發生簽名驗證失敗的問題。

簽名驗證失敗,大部分是url不符合造成的。
比如 http://www.hisn.cn/index.php?d-12=&from=tamp 這樣的連結。
在後臺的時候,用 $url =’http://’. $_SERVER[‘HTTP_POST’].$_SERVER[‘REQUEST_URI’];
一般都是上面的那樣的連結。

但是因為微信取值,用的是 location.href.split(`#`)[0] 這樣的。
而window.location.href 這樣取值,有時會帶有 index.php 而有時又不帶有 index.php,這就導致在做微信簽名的時候,前後連結不統一的問題,導致簽名驗證失敗。

所以要在前臺呼叫微信jssdk之前對location.href進行處理,我是這樣做的:

var locationUrl = window.location.href;
 if(locationUrl.indexOf(`index.php`)==-1){
    window.location.href = `http://www.hisn.cn/index.php`+window.location.search;
 }

這樣,假如前端js獲取連結的時候不帶有index.php的時候,就自動調轉到帶有的連結上,就OK了。

就保證,分享二次轉發等,順利轉發!!

相關文章