Ruby: protect_from_forgery когда это поднято?

У меня есть следующий кусок кода:

class Foo < ActiveRecord::Base
  protect_from_forgery
end

Я сомневаюсь, когда protect_from_forgery будет называться? когда создается экземпляр Foo?

заранее спасибо

1 ответ

Кто-то с большим знанием, чем я, может знать лучший ответ, но вот как я его понимаю:

Когда браузер отправляет запрос на публикацию, rails включает дополнительный токен аутентификации с запросами, которые соответствуют этому сеансу пользователей. Если бы я знал токен аутентификации других пользователей, я мог бы добавить на страницу элемент HTML, который включает их токен, и отправлять запросы, выдавая себя за пользователя. Это называется подделкой межсайтовых запросов. Чтобы защитить ваш сайт от таких атак, в rails есть метод под названием protect_from_forgery, Этот метод должен быть размещен в верхней части вашего контроллера приложений, поэтому проверяйте каждый запрос на подлинность.

Дальнейшее чтение можно найти в Руководстве по безопасности Rails.

Другие вопросы по тегам