在不使用任何外部包的情况下,为基于JSF的web应用和Tomcat6后端提供CSRF保护。请帮助。
JSF已经通过javax.faces.ViewState
隐藏字段构建了针对CSRF的保护,该字段将与服务器端组件树的状态相链接。如果这个隐藏字段缺失或包含错误的值,那么JSF就不会处理POST请求。在JSF 1上。关键字只是有点太容易猜到,参见JSF impl issue 812和JSF规范issue 869。这在JSF 2.1中得到了修复。
您的主要关注点应该是XSS。成功的XSS攻击可以形成保证成功的CSRF攻击的源。为了避免XSS,请确保不要用<h:outputText escape="false" />
重新显示用户控制的输入。除此之外,JSF已经默认转义HTML实体。