1.首先需要在新的一个控制器上设置一个进行安全验证的方法。
public function checksession($code){ if(empty($code)) return false; $appid="wxdee91227065a7dd8"; $secret="30c1beb9b55063b9ed3bde35c6a95fc7"; $url="https://api.weixin.qq.com/sns/jscode2session?appid={$appid}&secret={$secret}&js_code={$code}&grant_type=authorization_code"; $ret=https_get($url); // echo $ret; // exit; $arr=json_decode($ret,true); if(isset($arr['openid']) && isset($arr['session_key'])){ session('openid',$arr['openid']); session('session_key',$arr['session_key']); $session_id=session_id(); echo $session_id; }else{ die($ret); } }2.然后需要进行前台的操作了,在微信小程序app.js中设置,进行向服务器进行请求,然后把session_id存储到本地上来。
wx.request({ url: 'http://ducaijia.hk01.bdysite.com/phpweb/index.php/home/demo/checksession', data:{ code:res.code }, success:res=>{ console.log(res); wx.setStorage({ key: 'session_id', data: res.header['Set-Cookie'], }) } })3.然后需要在各个页面上进行header的填写,进行同步获取到session_id.
header:{ Cookie: wx.getStorageSync('session_id') },4.在控制器中创造初始化的方法,让每个页面都可以进行安全认证。
public function _initialize(){ //安全认证 if(!session('?openid') || !session('?session_key')){ die('非法用户访问ma'); } }













