校验微信openid是否合法

问题描述:点赞助力活动。未助力过的微信账号可以助力;已助力过的微信账号无法重复助力。

这个时候后端逻辑是:前端通过post方式传openid给后端,检测redis集合中是否存在该openid,
能找到记录即为已助力用户,无记录则进行助力操作。
这个时候openid的合法性没有经过校验,通过接口修改随意openid的值都可以助力成功。

解决方案一:前端请求获取用户微信信息时,后端将微信返回的openid加密后给前端。前端请求接口时,带上加密的openid,后端拿到前端传过来的openid,检测一下该值是否合法。
解决方案二:前端请求获取用户微信信息时,将拿到的用户openid存redis集合中,助力时先去redis集合中查找是否存在这个openid,如果不存在,则为不合法用户。
posted @ 2020-04-23 18:03  米饭!大米饭  阅读(5410)  评论(0编辑  收藏  举报