Ai đó có thể xác nhận điều này: tôi có cần phải cung cấp cả mã thông báo CSRF và hình ảnh xác thực trong biểu mẫu gửi hoặc thực hiện hai hoặc nhiều chức năng giống nhau (có thể sử dụng chức năng này thay cho chức năng khác)?Cả hai thẻ csrf và captcha có cần thiết không?
Trả lời
Có thể sử dụng hình ảnh xác thực thay vì mã thông báo CSRF. Điều này được bao gồm trong số OWASP CSRF Prevention Guide. Captcha được coi là một hình thức ngăn chặn CSRF mạnh mẽ hơn là kiểm tra mã thông báo hoặc kiểm tra giới thiệu bởi vì nó không thể bị bỏ qua với XSS.
+1. Bạn chỉ ** cần ** mã thông báo CSRF nếu bạn không hiển thị hình ảnh Captch trên biểu mẫu (ví dụ: nếu bạn cho phép người dùng đã đăng nhập gửi mà không yêu cầu hình ảnh xác thực) ... – ircmaxell
@ircmaxell vâng, tôi nghĩ đó là bao hàm. – rook
thông tin tuyệt vời, nhờ mọi người trả lời và nhận xét. – jblue
Yup Tôi đã sai. Cả hình ảnh xác thực lẫn mã thông báo đều bị ràng buộc theo phiên.
Tuy nhiên, tôi vẫn thấy không có nhiều ý nghĩa trong câu hỏi này.
Bạn không thể sử dụng CAPTCHA cho mọi biểu mẫu trên trang web. Nó sẽ thúc đẩy người dùng điên và đi.
Vì vậy, tại sao không có mã thông báo cho mọi biểu mẫu theo mặc định và CAPTCHA cho các biểu mẫu được chọn?
Yêu cầu đầu vào người dùng tương tác ngăn XSRF; Vì captchas yêu cầu đầu vào người dùng tương tác, chúng có thể được sử dụng để ngăn chặn XSRF, giống như mã thông báo. – erickson
- 1. Thẻ đóng PHP không cần thiết?
- 2. Bảo vệ CSRF có cần thiết trên biểu mẫu đăng ký không?
- 3. Django CSRF thẻ sẽ không hiển thị
- 4. Tôi có nên sử dụng cả hai thẻ striptags() và htmlspecialchars() để ngăn chặn XSS không?
- 5. Thuộc tính 'loại' có cần thiết cho các thẻ <script> không?
- 6. Tham chiếu System.Web.Silverlight có cần thiết không?
- 7. Tại sao Laravel 4 CSRF thẻ không hoạt động?
- 8. KillTimer có cần thiết không?
- 9. OutOfMemory trên cả hai thiết bị và giả lập
- 10. Tên JNDI - Tiền tố "jdbc /" có cần thiết không?
- 11. Tôi có cần đóng() cả FileReader và BufferedReader không?
- 12. góc cạnh, django và csrf
- 13. Jquery và Django CSRF Token
- 14. Đối số textViewResourceId có cần thiết không?
- 15. Bạn có cần cả hai .net 3.5 và 4.0 được cài đặt hoặc chỉ .net 4?
- 16. CDATA có thực sự cần thiết không?
- 17. Mutexes có cần thiết trong javascript không?
- 18. Tiền tố khtml có cần thiết không?
- 19. Thử nghiệm trên thiết bị iPhone không có thẻ SIM
- 20. Có sẵn các giải pháp CAPTCHA nguồn mở không?
- 21. KillTimer có thực sự cần thiết không?
- 22. MongoDB - DBREF có cần thiết không?
- 23. Có Captcha không phô trương cho biểu mẫu web không?
- 24. Các tham số SVG như 'xmlns' và 'version' có cần thiết không?
- 25. Có thể sử dụng CSRF khi không có Cookie không?
- 26. Tôi có cần mã thông báo CSRF cho jQuery .ajax() không?
- 27. Có cần phải kiểm tra các trang web trong cả Safari và Chrome không?
- 28. Hai lần nhấp cần thiết khi chỉ cần một lần nhấp trên iPad/iPhone
- 29. bảo vệ chống lại CSRF trên các yêu cầu và biểu mẫu ajax mà không cần gửi các nút
- 30. Tất cả các quyền đó có cần thiết cho PhoneGap trên Android không?
Đây là một câu hỏi hay, nó nhận được các nguyên tắc cơ bản về CSRF là gì. – rook