我正在使用GWT和GWTP开发Web应用程序。我查看wiki page of GWTP并按照指示对XSRF攻击进行防护。它在开发模式下运行正常。
现在我将它部署到Tomcat服务器。但是在控制台中,它一直告诉我客户端在RPC中没有发送cookie。结果是没有RPC调用能够执行,因为它被认为是XSRF攻击。
有人能告诉我它有什么问题吗?是因为Tomcat设置,因为应用程序在开发模式下运行正常。
答案 0 :(得分:0)
我认为这不是来自GWTP,而是与你的Tomcat相关的东西
默认情况下,Tomcat 7中的会话和SSO cookie将以HttpOnly标志发送,以指示浏览器阻止从JavaScript访问这些cookie。 (可以在Tomcat 6.0和5.5中通过在Web应用程序的Context元素或全局CATALINA_BASE / conf / context.xml文件中设置useHttpOnly =“true”来启用此功能。 http://tomcat.apache.org/migration.html#Session_cookie_configuration
所以,检查你的context.xml是否像这样:
<Context cookies="true" useHttpOnly="false" >
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
的更多信息是否应在会话cookie上设置HttpOnly标志以防止客户端 边脚本访问会话ID?默认为true。