Come posso disattivare la protezione CSRF in un'app Rails?
-
02-07-2019 - |
Domanda
La prevenzione CSRF integrata in Rails sta causando alcuni problemi per alcuni test di carico automatizzati che stiamo eseguendo e desidero disattivarlo per la durata del processo. Come posso farlo?
Soluzione
Adoro le domande semplici con risposte chiare.
#I go in application.rb
self.allow_forgery_protection = false
Se vuoi farlo solo per i test, puoi spostarlo in uno dei file di ambiente (ovviamente, toccherai Applicazione
e non self
) . Puoi anche scrivere qualcosa del tipo:
#I still go in application.rb
self.allow_forgery_protection = false unless ENV["RAILS_ENV"] == "production"
Vedi qui per i dettagli. (La meravigliosa tradizione di Continuing Rails di avere la documentazione delle funzionalità principali nei post di blog di 2 anni, che sono stati distillati dai log di commit.)
Altri suggerimenti
In Rails 3, rimuovi il comando protect_from_forgery
in app/controllers/application_controller.rb