我已經安裝了AntiCSRF HTTPModule,但我需要將它與ajax一起使用。
令牌字段名稱:的RaiseException。
CookieName:__CSRFCOOKIE。
我應該使用Ajax POST手動發送令牌字段值或有別的事要做?
由於我們在這裏使用cookie,任何人都不能創建具有相同名稱和相同值的cookie,並將隱藏字段中顯示的值發送到服務器並獲取數據,或者對此有一些限制? !
謝謝與ajax一起使用AntiCSRF
2
A
回答
0
我不熟悉您使用的特定反CSRF模塊。 ASP.Net中內置了反CSRF支持,但它與AJAX相鬥爭。
大多數網站使用安全的僅HTTP cookie進行身份驗證。所有的瀏覽器支持同源策略這意味着只有創建Cookie的網站可以訪問它。
CSRF攻擊是有效的,因爲黑客無需查看cookie,因爲用戶的瀏覽器會將它們連同任何請求一起發送到您的網站。因此,黑客創建了將數據發送到你的網站上的表單:
<form action="yoursite.com/userAdmin/Create">
<input type="text" name="username" value="hackerUser" />
<input type="text" name="rights" value="godlike" />
...
</form>
黑客是不是在您的網站管理員,但他們可以欺騙誰把做的東西爲他們的用戶。
大多數反CSRF保護工作方式相同:通過要求POST-ed表單數據具有網站可以訪問的額外令牌,但黑客無法惡搞。
因此.Net的默認實現添加一個帶有令牌的cookie,隱藏輸入中的相同標記,然後檢查它們是否匹配。黑客無法看到cookie,所以無法重現隱藏的輸入。
這是問題的AJAX調用的原因有兩個:
- 淨生成令牌作爲隱藏輸入標籤,這意味着一些JavaScript是需要獲取到AJAX調用。
- 淨兌令牌檢查假定它是一個表單輸入,這意味着JSON調用傳遞它的格式不正確。
這聽起來像你需要做的是手動添加令牌的字段名稱的值到AJAX調用,並確保您發送表單數據。
相關問題
- 1. 與AJAX一起使用webpy
- 2. DOJO和AJAX與Struts2一起使用
- 3. 一起使用JSON和Ajax
- 4. 如何使用getql方法與graphql一起使用ajax?
- 5. 建議一個好的Ajax框架與Spring/java一起使用?
- 6. Ajax和GridView-Fu - 如何使AccordionPanes與GridView一起使用?
- 7. -forwardInvocation與Clang-LLVM一起使用,但不與GCC一起使用
- 8. XDEBUG與URL一起使用,但不與Cookie一起使用
- 9. 如何使Ajax與Ajax一起工作UpdatePanel
- 10. Yii框架:CListView ajax分頁與CArrayDataProvider一起使用時不起作用
- 11. 我該如何讓JavaScript與htm l一起使用ajax加載
- 12. iron-ajax不能與本地json文件一起使用?
- 13. 爲什麼這個ajax動作不能與requestScope一起使用?
- 14. 與JSONP一起使用jQuery/AJAX時沒有反應
- 15. Bootstrap摺疊不能與Ajax創建的內容一起使用
- 16. 與AJAX一起使用php文件的最佳做法
- 17. 與ajax和jQuery一起使用JavaScript的好處是什麼?
- 18. 與cakephp一起使用Ajax上傳文件
- 19. Jquery Ajax不能與Zend Framework-Json一起使用返回parsererror
- 20. 與DataGrids一起使用AJAX的最佳做法是什麼?
- 21. 在ASP.Net MVC中,ModelState可以與ajax更新一起使用嗎?
- 22. 如何將jQuery Ajax和PageMethods與實例變量一起使用?
- 23. Ajax GET請求不能與Flask一起使用
- 24. 與JTextArea一起使用JSplitPane
- 25. 與CURL一起使用Cookie
- 26. 與IText一起使用XMLWorkerHelper
- 27. 與scons一起使用latex2rtf
- 28. 與Django一起使用iframe
- 29. 與GitPython一起使用GIT_SSH_COMMAND
- 30. 與Batman.js一起使用jQuery
任何人,任何事!? – 2011-05-02 13:05:44