關于小程序session_key安全問題的通知【小程序安全獲取openid方法】
檢測發(fā)現(xiàn)你的小程序appid:******在通信過程中明文傳輸session_key(傳輸url:ttps://*******/getopenid),請去除請求和響應中的session_key及穗,以便消除風險酗洒。
解決辦法:去除后臺返回小程序時session_key逗威,這個返回值我的小程序是用不到所以可以直接去除。
/**
* 獲取用戶OPenid
* 微信開發(fā)者appId
* appId秘鑰
* 獲得POST請求提交的數(shù)據(jù) $_POST
*/
public function getopenid(){
$appid="******";
$secret="******";
$postdata = $_GET;
$code = $postdata['js_code'];
$api="https://api.weixin.qq.com/sns/jscode2session?appid={$appid}&secret={$secret}&js_code={$code}&grant_type=authorization_code"; //調(diào)用官方接口
$getdata = file_get_contents($api);
//echo $getdata;die;
//2023-12-13 修改暗赶,去除session_key
$getdata = json_decode($getdata,true);? ? ? //json格式數(shù)據(jù)解碼成數(shù)組
$opendata['openid'] = $getdata['openid']; //僅將openid返回小程序
$opendata = json_encode($opendata,true);? ? //數(shù)組轉(zhuǎn)碼成json格式數(shù)據(jù)
echo $opendata;die; //必留的一段代碼 */
}
wx.request({
? url:'https://s.istang.vip/index/nkuserlogin/getopenid',
? data: {js_code: res.code},
? success:(res)=>{
console.log(res.data); //輸出查看返回值
this.setData({
? useropenID:res.data.openid,
? hasUserInfo:true
})
wx.setStorageSync('useropenID', res.data.openid)
? }
})
最終返回值只留openid: