为移动应用创建带有csrf令牌的网络服务,例如
example.com?user=me&token=123abcde2dasd-q234sfFewr2
用户第一次调用此URL,然后我在会话中保存了此令牌。 现在,我希望如果有人再次调用此URL,则返回false。
答案 0 :(得分:1)
不是传递URL中的实际令牌,而是将令牌放在带有一个使用密钥的令牌故事中。
例如,在创建令牌时,还要为其创建密钥,然后将其存储(例如,存储在数据库中)。传递URL中的密钥。收到密钥后,请查找令牌,将其放入会话中,然后从商店中删除密钥和令牌。
这确保密钥仅使用一次,而且令牌(由于您将其置于会话中而存活时间较长)未被发出。
这是许多可能的解决方案之一,因此您可能需要更具体地解决您的问题。