Best Practice -- inserimento nel database e SQL injection

Buongiorno a tutti.

Devo fare l’import di un file XML dentro un database,

il problema e’ che dentro questo XML c’e’ veramente di tutto , comprese
ad esempio delle query SQL comlete ( sono testi di documentazione
tecnica).

Non posso fare un HTML encoding perche’ il testo va mantenuto
“leggibile”

Fino ad oggi ho lavorato con ASP Classic ed ho tutti i miei metodi per
fare la “pulizia” delle stringhe.

in RoR quale e’ la Best Practice?

Il 25 settembre 2009 12.08, Simone R. [email protected] ha scritto:

in RoR quale e’ la Best Practice?

in generale, non costruire mai le query a mano, ma usare sempre:
per inserimento/modifica, istanza.colonna =
qualcosa_di_potenzialmente_insicuro, anziché “INSERT INTO SQL (…)
VALUES (” + qualcosa_di_potenzialmente_insicuro + “,…)”

per la ricerca, le espressioni array o hash:

Modello.find :all, :conditions => [“colonna = ?”,
qualcosa_di_potenzialmente_insicuro]

o

Modello.find :all, :conditions => {:colonna =>
qualcosa_di_potenzialmente_insicuro}

A dire il vero, anche quando devi costruire query tali da necessitare,
ad esempio, find_by_sql, puoi comunque farti aiutare da active_record:

Modello.find_by_sql [“SELECT * FROM questo, quello, WHERE tale = ? AND
talantro = ?”, qualcosa_di_potenzialmente_insicuro,
qualcosaltro_di_potenzialmente_insicuro]