##Hiểu về Rails Authenticity Token.
Vấn đề:
Khi người dùng xem một form để tạo, cập nhật hoặc xóa một resource
, Rails sẽ tạo ngẫu nhiên một authenticity_token
và lưu token này trong session
, và đặt nó trong một hidden filed
trong form. Khi người dùng submit form, Rails sẽ tìm kiếm authenticity_token
, so sánh nó với một cái đã được lưu ở trong session. Nếu chúng phù hợp thì cho phép tiếp tục.
Tại sao lại có điều này:
Khi authenticity token
được lưu ở trên session, phía client có thể không biết giá trị của token đó. Điều này ngăn chặn người dùng submit một form tới ứng dụng Rails mà không thông qua form của ứng dụng. Hãy tưởng tượng rằng bạn sử dụng một Services A
, bạn đăng nhập vào Service
đó, mọi thứ đều thành công. Bây giờ hãy tưởng tượng rằng bạn đã sử dụng Service B
và bạn đã xem một bức anh mà bạn thích, và nhấn vào bức ảnh đó để xem với kích cỡ lớn hơn. Bây giờ, nếu có một vài mã ở trong Service B
, nó có thể sẽ gửi tới Service A
( với Service
mà bạn vừa đăng nhập),