关于小程序session_key安全问题的通知【小程序安全获取openid方法】
检测发现你的小程序appid:******在通信过程中明文传输session_key(传输url:ttps://*******/getopenid),请去除请求和响应中的session_key,以便消除风险。
解决办法:去除后台返回小程序时session_key,这个返回值我的小程序是用不到所以可以直接去除。
/**
* 获取用户OPenid
* 微信开发者appId
* appId秘钥
* 获得POST请求提交的数据 $_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"; //调用官方接口
$getdata = file_get_contents($api);
//echo $getdata;die;
//2023-12-13 修改,去除session_key
$getdata = json_decode($getdata,true); //json格式数据解码成数组
$opendata['openid'] = $getdata['openid']; //仅将openid返回小程序
$opendata = json_encode($opendata,true); //数组转码成json格式数据
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: