Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java CSRF Guard-如何在服务器端验证生成的令牌_Java_Security_Web Applications_Csrf_Csrf Protection - Fatal编程技术网

Java CSRF Guard-如何在服务器端验证生成的令牌

Java CSRF Guard-如何在服务器端验证生成的令牌,java,security,web-applications,csrf,csrf-protection,Java,Security,Web Applications,Csrf,Csrf Protection,我对网络安全非常陌生,我正在尝试在我的网络应用程序上实现 我已经在我的web应用程序上完成了所有必需的配置,我可以看到当我调用ajax或加载html页面时生成/注入了令牌FWJY-N767-M4HG-DHXT-WCE4-5J08-MV4G-LNV4。我注意到每个请求的令牌都是相同的 然而,我无法在服务器端验证令牌。根据我的研究,它应该转到CsrfGuardFilter.java类并验证令牌,但在调试时,我可以看到它不会转到CsrfGuardFilter.java类,也不会基于令牌验证请求。我得到

我对网络安全非常陌生,我正在尝试在我的网络应用程序上实现

我已经在我的web应用程序上完成了所有必需的配置,我可以看到当我调用ajax或加载html页面时生成/注入了令牌FWJY-N767-M4HG-DHXT-WCE4-5J08-MV4G-LNV4。我注意到每个请求的令牌都是相同的

然而,我无法在服务器端验证令牌。根据我的研究,它应该转到CsrfGuardFilter.java类并验证令牌,但在调试时,我可以看到它不会转到CsrfGuardFilter.java类,也不会基于令牌验证请求。我得到的请求响应也不包含令牌


有人能指导我在我的web应用程序上正确实现CSRF Guard吗。感谢您的帮助。

在我的web应用程序中,我正在使用它生成前端JavaScript。在各个论坛上做了一些研究之后,我发现,由于GWT生成的JavaScript代码,令牌没有被注入任何ajax调用中。因此,为了在GWT代码上实现CSRF保护,我需要在*.nocache.js脚本之前插入CSRF保护脚本


您必须在web.xml中的正确位置声明CsrfGuardFilter、CsrfGuardServletContextListener和CsrfGuardHttpSessionListener。在我的应用程序中,我将其放置在会话创建之后。此外,还必须为JavaScriptServlet定义映射

注意:我在应用程序中使用了owasp csrfguard 3.1.0,只需为上述组件定义映射。对于旧版本,可能需要定义更多属性/组件

我从以下示例中获得了实施帮助:

我希望你的问题得到解决,我的回答将有助于将来的人