
Seguridad en Rails
Protección CSRF, inyección SQL, XSS, mass assignment, gestión de secrets, HTTPS
1¿Qué mecanismo usa Rails por defecto para protegerse contra los ataques CSRF?
¿Qué mecanismo usa Rails por defecto para protegerse contra los ataques CSRF?
Respuesta
Rails genera un token CSRF único por sesión y lo incluye automáticamente en los formularios mediante un campo hidden. Este token se verifica del lado del servidor para cada petición que no sea GET. El helper form_with inserta automáticamente este token, y protect_from_forgery está activado por defecto en ApplicationController.
2¿Cómo desactivar la protección CSRF para una acción específica en un controller de API?
¿Cómo desactivar la protección CSRF para una acción específica en un controller de API?
Respuesta
El método skip_before_action :verify_authenticity_token desactiva la verificación CSRF para acciones específicas. Esto es común en APIs que usan autenticación basada en token (JWT, API key) en lugar de sesiones. Se recomienda limitar esta excepción a las acciones estrictamente necesarias usando la opción only.
3¿Qué vulnerabilidad se explota en este código: User.where("name = '#{params[:name]}'")?
¿Qué vulnerabilidad se explota en este código: User.where("name = '#{params[:name]}'")?
Respuesta
La interpolación directa de params en una consulta SQL permite la inyección SQL. Un atacante puede enviar name="'; DROP TABLE users; --" para ejecutar código SQL arbitrario. Hay que usar los placeholders de ActiveRecord en su lugar: User.where(name: params[:name]) o User.where("name = ?", params[:name]).
¿Qué método de ActiveRecord protege automáticamente contra la inyección SQL?
¿Cómo protege Rails automáticamente contra los ataques XSS en las vistas ERB?
+19 preguntas de entrevista
Otros temas de entrevista Ruby on Rails
Fundamentos de Ruby
Programación orientada a objetos en Ruby
Fundamentos de Rails
Routing & Controllers
Fundamentos de ActiveRecord
Views y plantillas ERB
Asociaciones de ActiveRecord
Consultas avanzadas de ActiveRecord
Formularios Rails
Autenticación y Autorización
Asset Pipeline moderno y frontend
Modo API de Rails
Pruebas con RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Estrategias de caching
Migraciones avanzadas
Rails Engines y apps modulares
Optimización del rendimiento
Patrones de diseño en Rails
Metaprogramación en Ruby
GraphQL con Rails
Despliegue y Producción
Monitoring & Logging
Estrategias de actualización de Rails
Domina Ruby on Rails para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis