Ogni tanto mi capita di vedere ancora cose del genere su iBatis (framework java per la persistenza) e non solo:
select * from table where nome like ‘$text$’
Mi chiedo ma è possibile che ancora non ci si renda conto dell’insicurezza che potrebbe creare all’applicazione o ai server del cliente una cosa del genere?
Per chi non se ne rendesse conto consiglio questo video che mostra un attacco al DBMS SQLServer sfruttando proprio un bug come quello indicato:
http://sqlninja.sourceforge.net/sqlninjademo.html
bastava scrivere la query così:
select * from table where nome like #text#


July 2, 2007 @ 8:35 pm
Il default in ibatis sono i # per scoprire l’esistenza del dollaro bisogna andare nel wiki, bisogna cioè mettersi di impegno a mettere i $, a meno che non si voglia rendere dinamici i nomi delle tabelle….
July 7, 2007 @ 9:44 am
Vallo a spiegare alle persone che usano i $.
Anche perché in alcuni casi è d’obbligo usarli, ibatis tira fuori errori stranissimi, quindi magari qualcuno si mette in testa che il $ è la cosa da usare sempre e non solo in quelle rare eccezioni.