微信H5分享、复制链接遇到的坑

本文介绍了一种在微信H5项目中通过增加携带openId的cookie来防止因分享或复制链接导致的系统权限失效的方法。重点讲解了如何在前端全局js中检查cookie中的openId与URL携带的openId是否一致,如果不一致则跳转到关注公众号页面,以保障项目安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:
项目基于微信H5开发,微信内嵌浏览器在访问项目时,可以分享和复制链接,因为连接中携带了openId,导致系统权限失效,相当于别人拿着你家的钥匙进你家门一样。

解决思路:
在微信H5的入口请求中,增加携带openId 的cookie,前端全局js在页面加载时获取cookie ,如果没有,或者 cookie中的openId 与 URL携带的openId不一致,说明是分享或者复制的连接,直接跳转到关注公众号页面。

实现过程中的坑:
以前一直以为只要域名相同,重定向的cookie 就能保存到浏览器。但前端一直获取不到cookie,后来发现原来cookie 除了domain 还有path 属性,只要把path 值设置为 “/” 就好了。

Cookie cookie =  new Cookie("token",Base64Utils.encodeToString(token.getBytes()));
cookie.setPath("/");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值