微信“订阅号”如何存放openid,并在其他页面使用
我正在开发一个投票系统,需要根据微信用户openid来识别用户的投票次数。
问题:
我通过公众号的订阅、点击事件都能获得openid,然后我马上把openid保存到cookie或者session,然后在打开其他网页时,这个cookie或者session的值都是空的。那请问有什么方法是可以将openid保存下来供项目的其他页面使用呢?
然后我看到了另外一个订阅号也在做投票活动,它连自定义菜单都没有,关注之后就弹一条图文信息出来,进入里面的地址后进行投票是可以判断到我这个微信号的投票次数的。而且这个地址在其他地方进去就投不了票,所以应该是判断了openid,我看了他的跳转地址,也没有带上openid的参数,那他是怎样存放这个openid供其他页面使用的呢?
这个公众号是“吃遍佛山”里面的一个宝宝投票活动,有谁可以给我解释一下呢???急。。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
我刚刚做完一个微信投票 400w 多票.
首先 认证过的微信公众号已经都可以使用授权登陆, 有一个模式是非登录只获取 openid.
授权获取用户信息
然后使用 根据 openid 获取关注人信息 来判断是否关注了,
如果关注了,就投票,没关注先关注.
其他的具体做法,我觉得你可以的.
localStorage?
方法一:直接放在input type="hidden"中
方法二:放在cookie中
方法三:放在session中
方法四:放在memcache等缓存中
呃呃呃,楼下应该还有补充的。
对于同一个帐号每个用户的openid是相同的可以根据你的需要进行持久化存储,或者临时性存储
做微信投票系统,你最好将openid记录到数据库中,这样可以限制票数,同时还可以防止刷票行为,如果你存在本地,用微信的人清除了浏览器缓存,就白搭了
对于说在其他页面的你可以存在session、cookie、localStrong,作为跳转其页面使用
我遇到的问题也和楼主差不多,订阅号没有授权只能用户点击菜单交互拿到openid,然后把openid带在url推送连接给用户,但是这样用户可以把连接转发给其他微信用户,可能会不安全,请问有什么办法解决?