我下面基於Spring框架本教程爲應用程序3.2.4Web安全:防止CSRF攻擊
http://springdiaries.blogspot.be/2012/12/web-security-preventing-csrf-attack.html#comment-form
的一點是,我已經簽了會議,我的天堂中的所有對象沒有發現有關鍵OWASP_CSRFTOKEN的任何對象,那是susposius,表現不好?
我下面基於Spring框架本教程爲應用程序3.2.4Web安全:防止CSRF攻擊
http://springdiaries.blogspot.be/2012/12/web-security-preventing-csrf-attack.html#comment-form
的一點是,我已經簽了會議,我的天堂中的所有對象沒有發現有關鍵OWASP_CSRFTOKEN的任何對象,那是susposius,表現不好?
這是不完全的回答你的問題,這是不幸的是太模糊沒有神奇的水晶球^^回答,但這裏有一些事情你應該嘗試:
Owasp.CsrfGuard.properties
配置文件中定義的 的unprotected
模式中的一個的URL來(這些值是從OWASP docs ;你應該已經建立了不同的):。
org.owasp.csrfguard.unprotected.Tag=/Owasp.CsrfGuard.Test/tag.jsp
org.owasp.csrfguard.unprotected.JavaScriptServlet=/Owasp.CsrfGuard.Test/JavaScriptServlet
org.owasp.csrfguard.unprotected.Html=*.html
org.owasp.csrfguard.unprotected.Public=/MySite/Public/*
檢查您的Web服務器/ servlet容器日誌中的錯誤,無論是在啓動/應用負載,並在接收到客戶端請求。
逐一查看所有配置參數。
閱讀the project wiki並仔細文檔:
無論如何,您不必修改數據庫模式。這不是OWASP CRSF守護的工作方式(生成的令牌存儲在會話中,不會保留在數據庫中)。
另外值得一提的是,您正在關注過時的博客文章:如果您使用Spring,則根本不需要使用OWASP CSRF保護。你應該使用彈簧安全認證,它具有built in CSRF protection,這更容易設置。
查看教程on this page關於如何設置基於CSRF保護的HTML表單+基於SQL數據庫的認證(另外,不要錯過bcrypt密碼散列之一;它很容易設置,並且在某些時候您將很高興你正在存儲安全哈希而不是明文密碼)。
由於CSRF保護令牌是會話存儲的,您將看到您也不必修改數據庫以使用spring-security添加CSRF保護。
設置需要5-15分鐘; 30分鐘的春季新手上衣。簡而言之,框架負責生成和驗證令牌,並在無效請求上返回認證錯誤。
您只需在您的spring-security.xml配置文件<http>
標記內包含<csrf />
標記。
如果您使用的是基於HTML表單的認證,你還必須包括表單內的以下隱藏輸入:
<input type="hidden" name="${_csrf.parameterName}"
value="${_csrf.token}" />
那麼你有沒有跟着教程,或者你在錯誤的方式檢查。你如何檢查會話變量。同時發佈一些你正在使用的代碼(並且不要參考我們希望看到的代碼*你的代碼)。 –
你爲什麼不使用彈簧安全?彈簧安全來自csrf保護。 –
它會在沒有定義用戶/角色的情況下工作? –