首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >浏览器后退按钮问题与CSRF预防机制

浏览器后退按钮问题与CSRF预防机制
EN

Stack Overflow用户
提问于 2016-03-23 10:22:30
回答 1查看 1.2K关注 0票数 1

我尝试使用OWASAP机制来保护我的遗留应用程序表单CSRF,但是导航和后退按钮出现了问题。然后,我尝试使用struts-1令牌机制,但遇到了同样的问题。我认为令牌注入机制的问题是,最初我们将在jsp中生成一个令牌,并将其存储在会话中并执行一些操作。

考虑一下A.jsp。让我们在jsp中获取令牌值1,我们将在会话中存储相同的值。现在,我们将在filter/Action类中验证它。在此之后,我们将在B.jsp中执行一些其他操作,在jsp中具有令牌新值2,而在session.After验证表单服务器中,我们将在会话中具有值2。现在,如果我们使用浏览器back按钮导航并移动到页面1并提交它,它将从缓存加载值,A.jsp将以值1作为标记,在提交A.jsp之后,它将显示CSRF错误,因为它与会话中的值相矛盾。

是否有办法实施CSRF预防机制,而不实际干扰应用程序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-23 13:10:24

那么,如果我正确地理解了您的问题,请按回退按钮,您可以使用旧令牌从缓存中获取页面吗?如果我是正确的,那么有一个简单的方法来解决这个问题-不要缓存您的页面,并一直从服务器加载它们。

这可以通过设置以下响应头来实现。

代码语言:javascript
复制
Cache-Control: max-age=0, no-cache, must-revalidate

其他更困难的方法是实现单个页面应用程序,在这种情况下,浏览器内存中总是有实际的令牌。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36175453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档