Ruby on Rails

Rails-beveiliging

CSRF-bescherming, SQL-injectie, XSS, mass assignment, secrets-beheer, HTTPS

22 gespreksvragen·
Senior
1

Welk mechanisme gebruikt Rails standaard om te beschermen tegen CSRF-aanvallen?

Antwoord

Rails genereert per sessie een uniek CSRF-token en voegt dit automatisch toe aan formulieren via een hidden veld. Dit token wordt serverzijdig geverifieerd voor elk niet-GET-verzoek. De form_with-helper voegt dit token automatisch in, en protect_from_forgery staat standaard aan in ApplicationController.

2

Hoe schakel je CSRF-bescherming uit voor een specifieke action in een API-controller?

Antwoord

De methode skip_before_action :verify_authenticity_token schakelt CSRF-verificatie uit voor specifieke actions. Dit komt veel voor bij API's die token-gebaseerde authenticatie (JWT, API key) gebruiken in plaats van sessies. Het wordt aanbevolen om deze uitzondering met de optie only te beperken tot strikt noodzakelijke actions.

3

Welke kwetsbaarheid wordt in deze code misbruikt: User.where("name = '#{params[:name]}'")?

Antwoord

Directe interpolatie van params in een SQL-query maakt SQL-injectie mogelijk. Een aanvaller kan name="'; DROP TABLE users; --" sturen om willekeurige SQL-code uit te voeren. Gebruik in plaats daarvan ActiveRecord-placeholders: User.where(name: params[:name]) of User.where("name = ?", params[:name]).

4

Welke ActiveRecord-methode beschermt automatisch tegen SQL-injectie?

5

Hoe beschermt Rails automatisch tegen XSS-aanvallen in ERB-views?

+19 gespreksvragen

Beheers Ruby on Rails voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis