
Rails-Sicherheit
CSRF-Schutz, SQL-Injection, XSS, Mass Assignment, Secrets-Verwaltung, HTTPS
1Welchen Mechanismus verwendet Rails standardmäßig zum Schutz vor CSRF-Angriffen?
Welchen Mechanismus verwendet Rails standardmäßig zum Schutz vor CSRF-Angriffen?
Antwort
Rails generiert pro Session ein eindeutiges CSRF-Token und bindet es über ein Hidden-Feld automatisch in Formulare ein. Dieses Token wird serverseitig für jede Nicht-GET-Anfrage überprüft. Der form_with-Helper fügt dieses Token automatisch ein, und protect_from_forgery ist im ApplicationController standardmäßig aktiviert.
2Wie deaktiviert man den CSRF-Schutz für eine bestimmte Action in einem API-Controller?
Wie deaktiviert man den CSRF-Schutz für eine bestimmte Action in einem API-Controller?
Antwort
Die Methode skip_before_action :verify_authenticity_token deaktiviert die CSRF-Prüfung für bestimmte Actions. Das ist üblich bei APIs, die token-basierte Authentifizierung (JWT, API key) statt Sessions verwenden. Es wird empfohlen, diese Ausnahme mit der Option only auf die unbedingt notwendigen Actions zu beschränken.
3Welche Schwachstelle wird in diesem Code ausgenutzt: User.where("name = '#{params[:name]}'")?
Welche Schwachstelle wird in diesem Code ausgenutzt: User.where("name = '#{params[:name]}'")?
Antwort
Die direkte Interpolation von params in einer SQL-Abfrage ermöglicht SQL-Injection. Ein Angreifer kann name="'; DROP TABLE users; --" senden, um beliebigen SQL-Code auszuführen. Verwenden Sie stattdessen ActiveRecord-Platzhalter: User.where(name: params[:name]) oder User.where("name = ?", params[:name]).
Welche ActiveRecord-Methode schützt automatisch vor SQL-Injection?
Wie schützt Rails in ERB-Views automatisch vor XSS-Angriffen?
+19 Interview-Fragen
Weitere Ruby on Rails-Interviewthemen
Ruby-Grundlagen
Objektorientierte Programmierung in Ruby
Rails-Grundlagen
Routing & Controllers
ActiveRecord-Grundlagen
Views & ERB-Templates
ActiveRecord-Assoziationen
Fortgeschrittene ActiveRecord-Abfragen
Rails-Formulare
Authentifizierung & Autorisierung
Moderne Asset Pipeline & Frontend
Rails API-Modus
Testen mit RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Caching-Strategien
Fortgeschrittene Migrationen
Rails Engines & modulare Apps
Performance-Optimierung
Rails Design Patterns
Ruby-Metaprogrammierung
GraphQL mit Rails
Deployment & Produktion
Monitoring & Logging
Rails-Upgrade-Strategien
Meistere Ruby on Rails für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten