Я пытался прочитать и применить пример кода, который у меня есть. найдено:
- GitHub
- Ключ для session.getAttribute() имеет значение null при использовании OWASP_CSRFTOKEN в Spring Framework 3.2.4. app
- Проверка/проверка CSRF не работает с экспортированными военными сборками — при использовании OWASP CSRFGuard
- OWASP CSRFGuard: в запросе отсутствует необходимый токен
- Я запускаю свое приложение (из Eclipse)
- сервер запускается без проблем ( Я вижу выходные данные конфигурации csrf Guard)
- веб-приложение открывается (но изображения и CSS-файлы не загружаются)
- Я пытаюсь войти в систему в веб-приложение
- сервлет входа инициализируется, но метод doPost() не запускается
- это приводит меня к пустая страница
Мой web. xml выглядит так:
Код: Выделить всё
Owasp.CsrfGuard.Config
WEB-INF/csrfguard.properties
org.owasp.csrfguard.CsrfGuardServletContextListener
org.owasp.csrfguard.CsrfGuardHttpSessionListener
AccessFilter
wy.web.app.security.AccessFilter
AccessFilter
/*
CSRFGuard
org.owasp.csrfguard.CsrfGuardFilter
CSRFGuard
/*
JavaScriptServlet
org.owasp.csrfguard.servlet.JavaScriptServlet
JavaScriptServlet
/JavaScriptServlet
30
login.jsp
Код: Выделить всё
org.owasp.csrfguard.configuration.provider.factory = org.owasp.csrfguard.config.PropertiesConfigurationProviderFactory
org.owasp.csrfguard.Enabled = true
# have test both "true" and "false"
org.owasp.csrfguard.ValidateWhenNoSessionExists = true
org.owasp.csrfguard.TokenLength = 32
org.owasp.csrfguard.TokenName = OWASP-CSRFTOKEN
org.owasp.csrfguard.SessionKey = OWASP-CSRFTOKEN
org.owasp.csrfguard.PRNG = SHA1PRNG
org.owasp.csrfguard.PRNG.Provider = SUN
org.owasp.csrfguard.Ajax = true
org.owasp.csrfguard.LogicalSessionExtractor = org.owasp.csrfguard.session.SessionTokenKeyExtractor
org.owasp.csrfguard.JavascriptServlet.sourceFile = WEB-INF/Owasp.CsrfGuard.js
org.owasp.csrfguard.JavascriptServlet.domainStrict = false
org.owasp.csrfguard.JavascriptServlet.cacheControl = private, maxage=28800, no-cache, no-store, must-revalidate
org.owasp.csrfguard.JavascriptServlet.refererPattern = .*
# have test both "true" and "false"
org.owasp.csrfguard.JavascriptServlet.refererMatchProtocol = false
# have test both "true" and "false"
org.owasp.csrfguard.JavascriptServlet.refererMatchDomain = false
org.owasp.csrfguard.JavascriptServlet.injectIntoForms = true
org.owasp.csrfguard.JavascriptServlet.injectGetForms = true
org.owasp.csrfguard.JavascriptServlet.injectFormAttributes = true
org.owasp.csrfguard.JavascriptServlet.injectIntoAttributes = true
org.owasp.csrfguard.JavascriptServlet.injectIntoDynamicNodes = false
org.owasp.csrfguard.JavascriptServlet.xRequestedWith = OWASP CSRFGuard Project
org.owasp.csrfguard.JavascriptServlet.UnprotectedExtensions = js, css, gif, png, ico, jpg
org.owasp.csrfguard.configOverlay.hierarchy = file:WEB-INF/csrfguard.properties
# Mark the login page as unprotected, at least for testing
org.owasp.csrfguard.unprotected.Login = %servletContext%/login.jsp
org.owasp.csrfguard.unprotected.Error = %servletContext%/error.jsp
# Actions to perform when an attack is detected
# 1. Log the information
org.owasp.csrfguard.action.Log = org.owasp.csrfguard.action.Log
org.owasp.csrfguard.action.Log.Message = Potential cross-site request forgery (CSRF) attack thwarted (user:%user%, ip:%remote_ip%, method:%request_method%, uri:%request_uri%, error:%exception_message%)
# 2. Rotate the token; not supported with AJAX
#org.owasp.csrfguard.action.Rotate = org.owasp.csrfguard.action.Rotate
# 3. Invalidate the token that was misused
#org.owasp.csrfguard.action.Invalidate=org.owasp.csrfguard.action.Invalidate
# 4. Redirect the user/hacker to a specific page
#org.owasp.csrfguard.action.Redirect = org.owasp.csrfguard.action.Redirect
#org.owasp.csrfguard.action.Redirect.Page = /Owasp.CsrfGuard.Test/error.html
org.owasp.csrfguard.Logger = org.owasp.csrfguard.log.JavaLogger
org.owasp.csrfguard.log.JavaLogger.level = TRACE
org.owasp.csrfguard.Config.Print = true
org.owasp.csrfguard.forceSynchronousAjax = true
Подробнее здесь: https://stackoverflow.com/questions/791 ... csrf-guard