
Sécurité Rails
CSRF protection, SQL injection, XSS, mass assignment, secrets management, HTTPS
1Quel mécanisme Rails utilise-t-il par défaut pour protéger contre les attaques CSRF ?
Quel mécanisme Rails utilise-t-il par défaut pour protéger contre les attaques CSRF ?
Réponse
Rails génère un token CSRF unique par session et l'inclut automatiquement dans les formulaires via un champ hidden. Ce token est vérifié côté serveur pour chaque requête non-GET. Le helper form_with insère automatiquement ce token, et protect_from_forgery est activé par défaut dans ApplicationController.
2Comment désactiver la protection CSRF pour une action spécifique d'un controller API ?
Comment désactiver la protection CSRF pour une action spécifique d'un controller API ?
Réponse
La méthode skip_before_action :verify_authenticity_token permet de désactiver la vérification CSRF pour des actions spécifiques. C'est courant pour les APIs qui utilisent une authentification par token (JWT, API key) plutôt que des sessions. Il est recommandé de limiter cette exception aux actions strictement nécessaires avec l'option only.
3Quelle est la vulnérabilité exploitée dans ce code : User.where("name = '#{params[:name]}'")?
Quelle est la vulnérabilité exploitée dans ce code : User.where("name = '#{params[:name]}'")?
Réponse
L'interpolation directe de params dans une requête SQL permet l'injection SQL. Un attaquant peut envoyer name="'; DROP TABLE users; --" pour exécuter du code SQL arbitraire. Il faut utiliser les placeholders ActiveRecord : User.where(name: params[:name]) ou User.where("name = ?", params[:name]).
Quelle méthode ActiveRecord protège automatiquement contre l'injection SQL ?
Comment Rails protège-t-il automatiquement contre les attaques XSS dans les vues ERB ?
+19 questions d'entretien
Autres sujets d'entretien Ruby on Rails
Les bases de Ruby
Programmation orientée objet en Ruby
Fondamentaux Rails
Routing & Controllers
Les bases d'ActiveRecord
Views & Templates ERB
Associations ActiveRecord
Requêtes ActiveRecord avancées
Formulaires Rails
Authentification & Autorisation
Asset Pipeline & Frontend moderne
Rails en mode API
Tests avec RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Stratégies de caching
Migrations avancées
Rails Engines & Apps modulaires
Optimisation des performances
Design Patterns Rails
Métaprogrammation Ruby
GraphQL avec Rails
Déploiement & Production
Monitoring & Logging
Stratégies d'upgrade Rails
Maîtrise Ruby on Rails pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement