martedì 31 ottobre 2017

Sanitizzazione query SQL

All'ultimo linux day di Milano è stato chiesto, da chi presenziava alla mia presentazione, che tipo di sicurezze offre Livecode contro gli attacchi tipi SQL injection.
Indagando, con mia grande sorpresa ho scoperto che livecode contiene la parametrizzazione delle query.
In pratica quando si esegue la parametrizzazione di una query, la query viene eseguita e poi modificati valori.
Per eseguire una parametrizzazione, basta immettere nella query le variabili sotto forma di numero anteponendo i due punti:


put "red" into valueX
put "10" into valueY
put revDataFromQuery(tab,return,myID,"SELECT x,y FROM test WHERE x = :1 AND y = :2", "valueX", "valueY" ) into tResults

Ricordatevi di mettere tra virgolette le variabili associate ai segnaposto e non avrete più problemi di attacchi sql.