2
回答
[并行会话的兼容问题]Token存Session遇到重名问题,怎么破?!?!求解
华为云实践训练营,热门技术免费实践!>>>   

语言平台:java

运用框架:S2SH

项目:普通博客

场景描述:我在修改博客页面的时候设置了一个名字为'blogtoken'的值存入session,每次点击确认修改按钮的时候,页面提交(非表单提交,而是ajax提交)该值传给Action,在Action中匹配session中'blogtoken'值,从而确保数据一定是由该页面提交而来。防止csrf攻击

遇到问题:

1、如果多开blog修改页面的时候,会发现共用session名,同为'blogtoken',每次打开一个新的页面,session中'blogtoken'值也会随着改变,因此影响到其他页面修改;

2、两次先后打开同一个blogid的修改页面,session依然冲突,影响到前一个页面的修改。

思考:一般的思路就是根据不同的blogid设置不同名字的token名存入session,根本上避免冲突,这样可以解决问题1,但是无法解决问题2,因为在相同id的前提下,后打开的页面必然会刷新前一个页面的token值

问:一般的token策略是什么?怎么解决如上所述情况遇到的session同名冲突问题?

举报
wang_liran
发帖于4年前 2回/501阅
顶部