Jistě že PreparedStatement je řešení, ale také ne vždy, protože už jsem viděl mnoho DB, kde se spouštěly "stored procedures" s parametrama, ve kterých pak následně byl exec(SQL) nebo sp_execute nebo něco takováho a script na konci stejně injektovaný script spustil, takže pro javu platí stejně jako pro cokoliv ostatního.
Jinak v .NET je DLINQ, v rámci kterého toto opravdu nelze přejít, ale to zase nelze použít vždy.
Názor k článku
Na podceňovanou hrozbu SQL injection doplácí i řada českých webů
Tiskni