4
A
回答
4
帶表單的隨機數的目標通常是兩個方面:確保數據只提交一次,並確保用戶實際提交。第二點幫助防範跨站點請求僞造:http://en.wikipedia.org/wiki/Cross-site_request_forgery
處理它們取決於上下文。如果用戶填寫表單並且現時失效,請刷新頁面(預先填寫數據),說一些像「Oops有問題,請檢查您的輸入並再次提交」的良性內容。有效的用戶可以擊中提交,攻擊會受到挫敗,或者用戶至少知道發生了什麼。
由於幾個原因,驗證可能會失敗。如果您已啓用某種形式的瀏覽器緩存,則用戶訪問一個表單(使用給定的隨機數),然後導航到另一個表單(使用它自己的隨機數),並通過後退按鈕返回到第一個表單,nonce可能會失敗。通過允許瀏覽器緩存發生,他們沒有刷新頁面,並且你的服務器可能只會在會話中爲他們存儲一個有效的隨機數,所以他們不會匹配。一個有效的用例和一個失敗的nonce(沒有一個我會失眠,只是確保表單被重新填充)。
我的建議總的來說是:告訴用戶再次提交,巧妙地暗示他們應該檢查他們的輸入,使得再次提交容易。
相關問題
- 1. 什麼是處理失敗的Web請求的最佳方式?
- 2. 在WPF中處理驗證的最佳方式是什麼?
- 3. 處理年齡驗證的最佳方法是什麼?
- 4. 處理失敗的memcache服務器的最佳方式是什麼?
- 5. 處理變更管理的最佳方式是什麼?
- 6. 處理可可中的malloc失敗的最佳方式
- 7. 什麼是驗證輸入(Skeleton + Vue.js)的最佳方式?
- 8. 什麼是驗證複雜Flex表單的最佳方式?
- 9. 什麼是保持身份驗證狀態的最佳方式
- 10. 什麼是爲SQLite編寫驗證圖層的最佳方式
- 11. 驗證用戶上傳文件的最佳方式是什麼?
- 12. 年齡驗證的最佳方式是什麼?
- 13. 什麼是驗證日期和時間的最佳方式
- 14. 什麼是驗證EntityFramwork 4.0類的最佳方式?
- 15. 什麼是驗證XML的最佳方式?
- 16. 未驗證數據的最佳方式是什麼?
- 17. 什麼是驗證電子郵件域的最佳方式?
- 18. 什麼是驗證Web服務的最佳方式
- 19. 什麼是創建AJAX用戶名驗證處理程序的最佳方法?
- 20. 處理SSIS驗證失敗
- 21. 處理jQuery ajax異步調用的最佳方式是什麼?
- 22. 處理彼此使用模塊的最佳方式是什麼?
- 23. 在查找表中處理I18N的最佳方式是什麼?
- 24. 處理並行telnet連接的最佳方式是什麼?
- 25. 寫入批處理腳本的最佳方式是什麼?
- 26. 處理多臺顯示器的最佳方式是什麼?
- 27. 什麼是學習數字圖像處理的最佳方式?
- 28. 什麼是用Javascript處理時區的最佳方式
- 29. 處理視網膜顯示的最佳方式是什麼?
- 30. 處理django模型對象的最佳方式是什麼?
非常感謝你的啓發我。 – 2011-04-05 22:44:55