Предотвращение CSRF, встроенное в Rails, вызывает некоторые проблемы для некоторого автоматизированного тестирования нагрузки, который мы делаем, и я хочу отключить его на время процесса. Как это сделать?
Как отключить защиту CSRF в приложении rails?
Ответ 1
Мне нравятся простые вопросы с четкими ответами.
#I go in application.rb
self.allow_forgery_protection = false
Если вы хотите сделать это только для тестирования, вы можете переместить его в один из файлов среды (очевидно, вы будете касаться Application
, а не self
). Вы также можете написать что-то вроде:
#I still go in application.rb
self.allow_forgery_protection = false unless ENV["RAILS_ENV"] == "production"
Подробнее см. здесь. (Continuing Rails "замечательная традиция иметь документацию основных функций в двухлетних блогах блога, которые были перегорожены из журналов фиксации.)
Ответ 2
В Rails 3 удалите команду protect_from_forgery
в app/controllers/application_controller.rb