
Sicurezza in Rails
Protezione CSRF, SQL injection, XSS, mass assignment, gestione dei secrets, HTTPS
1Quale meccanismo usa Rails per impostazione predefinita per proteggersi dagli attacchi CSRF?
Quale meccanismo usa Rails per impostazione predefinita per proteggersi dagli attacchi CSRF?
Risposta
Rails genera un token CSRF univoco per sessione e lo include automaticamente nei form tramite un campo hidden. Questo token viene verificato lato server per ogni richiesta non-GET. L'helper form_with inserisce automaticamente questo token e protect_from_forgery è abilitato per impostazione predefinita in ApplicationController.
2Come disabilitare la protezione CSRF per un'azione specifica in un controller API?
Come disabilitare la protezione CSRF per un'azione specifica in un controller API?
Risposta
Il metodo skip_before_action :verify_authenticity_token disabilita la verifica CSRF per azioni specifiche. È comune nelle API che usano l'autenticazione basata su token (JWT, API key) invece delle sessioni. Si consiglia di limitare questa eccezione alle sole azioni strettamente necessarie usando l'opzione only.
3Quale vulnerabilità viene sfruttata in questo codice: User.where("name = '#{params[:name]}'")?
Quale vulnerabilità viene sfruttata in questo codice: User.where("name = '#{params[:name]}'")?
Risposta
L'interpolazione diretta di params in una query SQL consente la SQL injection. Un attaccante può inviare name="'; DROP TABLE users; --" per eseguire codice SQL arbitrario. Usa invece i placeholder di ActiveRecord: User.where(name: params[:name]) oppure User.where("name = ?", params[:name]).
Quale metodo di ActiveRecord protegge automaticamente dalla SQL injection?
Come protegge Rails automaticamente dagli attacchi XSS nelle view ERB?
+19 domande da colloquio
Altri argomenti di colloquio Ruby on Rails
Fondamenti di Ruby
Programmazione orientata agli oggetti in Ruby
Fondamenti di Rails
Routing & Controllers
Fondamenti di ActiveRecord
Views e template ERB
Associazioni ActiveRecord
Query ActiveRecord avanzate
Form Rails
Autenticazione e autorizzazione
Asset Pipeline moderno e frontend
Modalità API di Rails
Test con RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Strategie di caching
Migrazioni avanzate
Rails Engines e app modulari
Ottimizzazione delle prestazioni
Design Pattern in Rails
Metaprogrammazione in Ruby
GraphQL con Rails
Deployment e Produzione
Monitoring & Logging
Strategie di upgrade di Rails
Padroneggia Ruby on Rails per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis