我可能在这里完全是noob,但我仍然不确定CSRF(跨站点请求伪造)攻击到底是什么.那么让我们看看三种情况......
1)我有一个POST表单,用于编辑我的网站上的数据.我希望只有登录的用户才能编辑这些数据.
2)我有一个站点,登录的用户和访客都可以使用.该站点的某些部分仅供登录用户使用,但也有所有用户都可以使用的POST表单 - 匿名而非(例如标准联系表单).是否应该保护联系表格免受CSRF攻击?
3)我有一个完全没有身份验证系统的站点(好吧,也许这是不切实际的,所以假设它有一个管理站点,它与其余部分分开,管理部分得到了适当的保护).该站点的主要部分仅供匿名用户使用.是否需要保护其上的POST表格?
在1)的情况下,答案显然是肯定的.但是在2和3的情况下我不知道(并且2和3之间的差异是否显着?).
我很迷惑.我看到JSF 2.0具有隐含的CSRF保护: JSF 2.0如何阻止CSRF
另一方面,根据文章http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/JSF-CSRF-Demo/JSF2.2CsrfDemo.html,我们应该将以下元素添加到faces-config.xml文件中JSF页面列表.
<protected-views>
<url-pattern>/csrf_protected_page.xhtml</url-pattern>
</protected-views>
Run Code Online (Sandbox Code Playgroud)
应该<protected-views>用于JSF 2.2 CSRF保护吗?