GWT&;XSRF保护

GWT&;XSRF保护,gwt,rpc,csrf,owasp,Gwt,Rpc,Csrf,Owasp,我正在寻找可能的解决方案来保护我的GWT应用程序免受XSRF的攻击 如果我理解正确,它提供了一个Servlet,您可以使用它在客户端(调用RPC端点时)生成令牌,并在服务器端(调用命中您的服务时)进行验证 此解决方案是否仅适用于RPC调用?当然,我们需要它来覆盖所有用户生成的对服务器的请求吗 任何其他推荐的XSRF解决方案(我也在考虑)?我修改了GWT示例应用程序以防止XSRF。此解决方案大致基于GWT开发人员文档中提供的解决方案 除了GWT RPC之外,您还使用哪些类型的用户生成请求?我们有一

我正在寻找可能的解决方案来保护我的GWT应用程序免受XSRF的攻击

如果我理解正确,它提供了一个Servlet,您可以使用它在客户端(调用RPC端点时)生成令牌,并在服务器端(调用命中您的服务时)进行验证

此解决方案是否仅适用于RPC调用?当然,我们需要它来覆盖所有用户生成的对服务器的请求吗


任何其他推荐的XSRF解决方案(我也在考虑)?

我修改了GWT示例应用程序以防止XSRF。此解决方案大致基于GWT开发人员文档中提供的解决方案

除了GWT RPC之外,您还使用哪些类型的用户生成请求?我们有一些servlet、Jack Rabbit存储库等,用户可以为其生成请求。我查看了您的解决方案,我想知道的是,您在客户端的何处创建和处理cookie?因为我不使用谷歌应用程序,我如何使用CookieJSessionID(它没有值),在哪里设置cookie的值,以及如何处理cookie。。。你能解释一下,或者给我指一个链接吗?tnx“JSSessionID cookie是在创建会话时创建/发送的。会话是在您的代码第一次调用request.getSession()或request.getSession(true)时创建的。”-在示例中,request.getSession()在Xsrf_Safe.jsp中被调用,因此您可以将会话值作为javascript变量“Xsrf”:%=XsrfTokenUtil.getToken(request.getSession().getId())%>“但是在哪里调用Cookie.create()…你怎么已经生成了cooke..这是使用google apps engine和启用的会话实现的吗?因为我的代码需要使用给定名称创建cookie,所以JSESSIONID cookie在使用会话时由服务器自动创建。它不是特定于应用引擎的,而是JSP的一部分。GWT客户端不支持我们直接使用cookies,cookies只维护会话。JSP使用会话id生成安全令牌,并将令牌作为javascript变量注入。客户端只读取javascript变量,并在每个GWT-RPC请求中将其传递回HTTP标头。然后服务器从标头验证令牌。您在尝试什么完成?