防止来自csrf的webservice URL

时间:2015-10-29 19:11:45

标签: php web-services csrf

为移动应用创建带有csrf令牌的网络服务,例如

example.com?user=me&token=123abcde2dasd-q234sfFewr2

用户第一次调用此URL,然后我在会话中保存了此令牌。  现在,我希望如果有人再次调用此URL,则返回false。

1 个答案:

答案 0 :(得分:1)

不是传递URL中的实际令牌,而是将令牌放在带有一个使用密钥的令牌故事中。

例如,在创建令牌时,还要为其创建密钥,然后将其存储(例如,存储在数据库中)。传递URL中的密钥。收到密钥后,请查找令牌,将其放入会话中,然后从商店中删除密钥和令牌。

这确保密钥仅使用一次,而且令牌(由于您将其置于会话中而存活时间较长)未被发出。

这是许多可能的解决方案之一,因此您可能需要更具体地解决您的问题。