使用Tomcat 6进行CSRF验证而不使用外部包

时间:2011-04-26 03:33:16

标签: jsf tomcat6 csrf

基于JSF的Web应用程序和Tomcat6后端的CSRF保护,无需使用任何外部程序包。 请帮助。

1 个答案:

答案 0 :(得分:2)

JSF已经通过javax.faces.ViewState隐藏字段内置了对CSRF的保护,该隐藏字段与服务器端组件树的状态相关联。如果缺少此隐藏字段或包含错误值,则JSF将不会处理POST请求。在JSF 1.x上,关键只是有点容易猜测,另请参阅JSF impl issue 812JSF spec issue 869。这在JSF 2.1中得到修复。

您的主要关注点应该是XSS。成功的XSS攻击可以成为保证成功的CSRF攻击的来源。要避免使用XSS,请确保不要使用<h:outputText escape="false" />重新显示用户控制的输入。除此之外,JSF默认情况下已经转义HTML实体。