tengo una aplicación de rieles que sirve algunas aplicaciones para una aplicación de iphone. Quiero poder simplemente publicar en un recurso sin tener en cuenta obtener el token csrf correcto. He intentado algún método que veo aquí en stackoverflow pero parece que ya no funcionan en los rieles 3. Gracias por ayudarme.Desactivar token CSRF en rieles 3
Respuesta
En el controlador en el que desea desactivar CSRF el cheque:
skip_before_action :verify_authenticity_token
O para desactivarlo para todo excepto algunos métodos:
skip_before_action :verify_authenticity_token, :except => [:update, :create]
O desactivar métodos sólo se especifica:
skip_before_action :verify_authenticity_token, :only => [:custom_auth, :update]
Más información: RoR Request Forgery Protection
En Rails3 puede desactivar el token CSRF en su controlador de métodos particulares:
protect_from_forgery :except => :create
Para cualquiera que lea, tenga en cuenta que esto es lo que debería ir en 'ApplicationController'. La respuesta de Mike Lewis a continuación ('skip_before_filter: verify_authenticity_token') es cómo desactivarla según el controlador, suponiendo que el controlador hereda de' ApplicationController'. – NudeCanalTroll
Parece que esto no es seguro http://stackoverflow.com/questions/10676018/security-safe-to-disable-csrf-tokens-for-json-rails-calls. ¿Qué piensas? ¿Lo es? – juanpastas
@NudeCanalTroll ¿Quiere decir poner esto en el controlador donde yo quiero que no funcione? – BlackDivine
con los carriles 4, ahora tiene la opción de escribir en lugar de skip_before_action
skip_before_filter
.
# Works in Rails 4 and 5
skip_before_action :verify_authenticity_token
o
# Works in Rails 3 and 4 (deprecated in Rails 4 and removed in Rails 5)
skip_before_filter :verify_authenticity_token
¿Cuál es la diferencia? –
Si no recuerdo mal, el filtro está en desuso – nruth
- 1. CSRF token generation
- 2. token csrf usando
- 3. token anti-CSRF y Javascript
- 4. Jquery y Django CSRF Token
- 5. CSRF Token faltante o incorrecto
- 6. Django CSRF Token sin formularios
- 7. token de CSRF para ajax
- 8. Rails CSRF token authenticity y Devise
- 9. Obtener el token CSRF en la prueba
- 10. Problema de token de CSRF con CodeIgniter
- 11. Obtener manualmente un token CSRF al probar
- 12. ¿Necesito un token CSRF para jQuery .ajax()?
- 13. Django: CSRF token de falta o incorrecta
- 14. Django - CSRF token falta o es incorrecto
- 15. No se puede verificar la autenticidad del token de CSRF en los rieles
- 16. Rieles: cómo agregar protección CSRF a formularios creados en javascript?
- 17. rieles muestra "ADVERTENCIA: No se puede verificar la autenticidad CSRF token" de una RestKit POSTAL
- 18. ¿Cómo puedo integrar el token django csrf directamente en HTML?
- 19. Como: Generar dinámicamente CSRF token en WTForms con el frasco
- 20. Observe_field en rieles 3
- 21. "Falta el token CSRF persistente o incorrecto". Jinja y configuración
- 22. Formulario sin token CSRF: ¿cuáles son los riesgos
- 23. Spring 3.1 MVC, Spring Security 3.1 - CSRF token
- 24. Protección CSRF: ¿tenemos que generar un token para cada formulario?
- 25. Symfony 2 Desactivar la protección CSRF ficha en ajax presentar
- 26. + OmniAuth [ADVERTENCIA: No se puede verificar la autenticidad CSRF Token]
- 27. ¿Cómo desactivo la protección CSRF en una aplicación de rieles?
- 28. páginas interminables en rieles 3?
- 29. método "puts" en rieles 3
- 30. Autenticación API en rieles 3
Esta es la respuesta correcta para las aplicaciones que tienen una mezcla de formularios de explorador de ruedas regulares y los puntos finales de API. La respuesta de Markus Proske sería correcta si estuviera absolutamente seguro de que no iba a tener ningún formulario accesible en el navegador en su aplicación. –
¿A dónde va exactamente esto? ¿Qué pasa si la parte del controlador de alguna gema? –