/ / Protezione dall'iniezione SQL in Rails: sql, ruby-on-rails-3, sicurezza

Protezione dall'iniezione SQL in Rails - sql, ruby-on-rails-3, sicurezza

Sto cercando di ordinare alcuni record in binari e sto passando qualcosa del genere created_at DESC come il parametro, e mi chiedevo: l'SQL è correttamente sfuggito a ActiveRecord o è un brutto modo di farlo? Ho provato a sostituire con ? come faccio normalmente con le stringhe, ma sebbene sia riuscito a farlo funzionare in SQLite, PG ha generato un errore.

Ecco cosa sto facendo che funziona - ma ti chiedi se è sicuro?

if params[:by]
@photos = Photo.find(:all, :order => params[:by])
else
...

risposte:

2 per risposta № 1

Se si utilizza l'interfaccia di query di record attivi come in precedenza, Rails eseguirà la sanificazione SQL. Vedere http://guides.rubyonrails.org/active_record_querying.html