首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否应该将<protected>用于JSF2.2CSRF保护?

是否应该将<protected>用于JSF2.2CSRF保护?
EN

Stack Overflow用户
提问于 2014-11-17 09:28:20
回答 1查看 7.8K关注 0票数 12

我很困惑。我看到JSF2.0有隐含的CSRF保护:How JSF 2.0 prevents CSRF

另一方面,根据http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/JSF-CSRF-Demo/JSF2.2CsrfDemo.html文章,我们应该将以下元素添加到带有JSF列表的faces-config.xml文件中。

代码语言:javascript
复制
<protected-views>
   <url-pattern>/csrf_protected_page.xhtml</url-pattern>
</protected-views>

是否应该使用<protected-views>来保护JSF2.2CSRF?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-19 11:04:17

我很困惑。我看到JSF2.0有隐含的CSRF保护:https://stackoverflow.com/questions/8704612/how-jsf-2-0-prevents-csrf

这种隐式保护只适用于POST请求(即带有<h:form>的页面)。

另一方面,根据http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/JSF-CSRF-Demo/JSF2.2CsrfDemo.html文章,我们应该将以下元素添加到带有JSF列表的faces-config.xml文件中。 /csrf_protected_page.xhtml

这种保护对于GET请求也是有效的(即使用<f:viewAction>的页面,这也是JSF2.2之后的新版本)。每当您使用<h:link><h:button>创建到这些页面的GET链接/按钮时,就会在生成的HTML中将一个具有自动生成令牌值的新GET请求参数javax.faces.Token追加到该URL中,并且当在<protected-views>中声明所讨论的页面时将需要该参数。

是否应该使用<protected-views>来保护JSF2.2CSRF?

只有在网页与<f:viewAction>,你想要CSRF-保护。那些使用<h:form>的用户已经被javax.faces.ViewState隐藏输入字段隐式保护,前提是您没有通过<f:view transient="true">关闭JSF。另见a.o.。CSRF, XSS and SQL Injection attack prevention in JSF

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

https://stackoverflow.com/questions/26969415

复制
相关文章

相似问题

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