【摘要】session问题一直贯穿了前后端,绝大多数前后端的通信,都是采用http的方式来进行,因此session成了一道绕不过去的技术点,包括小程序、APP、Web页面;我们从创业之初,就定义了简单的技术选型,所以session对我们也至关重要,在这里做一个总结,并不断更新
【作者】田甜,星星,等
2019年12.14号,处理跳转问题时,正好遇到一个session失效,导致优惠券页面不能跳转的问题;觉得很有必要进行一个整理。其实时候才发现,这个并非问题,只是我们后端配置的时候,做了两份配置,一个是主域名的https,另外一个是跳转是否为https的链接,这两个打架,最开始的二维码是http的,最后跑到了https里面去了,造成前后两个session不一致。
不过这个乌龙的定位, 正好也推动我们将session的问题做一下总结。 也未尝不是好事情。长期以来,我们这边存在比较大的问题,就是环境的问题比较复杂,我们团队要处理众多情况,小程序、APP、公众号跳转,公众号和小程序账号打通、带营销推荐的链接等等。这样在统一的一套环境下来耕耘,确实有点难度。
不过为了模拟真实环境,我们都不用local_host的方式来本地调试,我们直接部署后端到真实的域名https,避免出现多种扯淡问题。统一了环境。
相关问题总结:
【前端的问题导致session串号】
另外, 如果是小程序、APP,特别要注意,登陆的之前,要有一个专属接口, 去拿到session id, 不要用登陆的接口持有session, 这里很容易出现串号。
很难理解吗? 将APP和小程序视为浏览器的登陆过程,就很好理解了。 浏览器登陆,首先是打开登陆页面,这个时候,session id就产生了,而不是登陆的接口产生的。
【后端的问题导致session串号】
session ID就是登陆的KEY, 所有持有session ID,一般不会串号,除非你作死,把session作为全局的类变量, 或者静态变量来玩。 作为局部变量的情况下,session id正确,就不可能串号。
【未完待续】
网友评论