2010-09-27 39 views
23

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?

+0

Đâ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

Trả lời

21

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.

+0

+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

+0

@ircmaxell vâng, tôi nghĩ đó là bao hàm. – rook

+0

thông tin tuyệt vời, nhờ mọi người trả lời và nhận xét. – jblue

0

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?

+2

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

Các vấn đề liên quan