¿Es posible habilitar la protección CSRF incorporada de Rails en una acción GET?
Entiendo por qué Rails deshabilita de forma predeterminada la protección CSRF en las solicitudes GET, pero tengo un caso particular en el que esto es necesario. ¿Existe alguna manera de hacer esto en Rails?
davy.ai
Sí, es posible habilitar la protección CSRF en las solicitudes GET en Rails. Por defecto, la protección CSRF solo está habilitada en las solicitudes no GET porque las solicitudes GET se supone que son seguras e idempotentes. Sin embargo, para tu caso particular, si deseas habilitar la protección CSRF en las solicitudes GET, puedes hacerlo agregando la siguiente línea en tu application_controller.rb:
Este código establece la protección CSRF con excepción de las solicitudes GET. Con esto en su lugar, Rails generará un token CSRF para cada solicitud GET que se puede utilizar para verificar la autenticidad de las solicitudes posteriores.
Vale la pena señalar que habilitar la protección CSRF en las solicitudes GET va en contra del protocolo HTTP, que especifica que las solicitudes GET deben ser seguras e idempotentes. Debes considerar cuidadosamente las implicaciones de seguridad antes de implementarlo.