Nota: Uno, non sono sicuro che le query sintetiche siano la parola giusta per il rischio di cui sto parlando. In secondo luogo, anche se sto considerando un modello a 3 livelli di applicazioni web, le risposte generali sono benvenute in situazioni client-server in cui la convalida lato server non è possibile.
Attualmente ho una pagina in cui esegui determinati calcoli usando quello che viene chiamato come DHTML. Questo calcolo genera una stringa che non ha pattern particolari in quanto tale. Questa stringa viene inviata a uno script lato server utilizzando AJAX.
Chiunque abbia una formazione di base in queste tecnologie può leggere il codice e rendersi conto che la query viene inviata è qualcosa del genere:
http://domain.com/script.php?var=theStringSoGenerated
Nella speranza di sfruttare un possibile difetto, un hacker digita nel suo browser:
http://domain.com/script.php?var=aCompletelyRandomString
Lo fa alcune volte e non vede alcun beneficio evidente e si chiude, ma nel livello intermedio, lo script PHP, completamente indifeso senza una possibile validazione, aggiorna e inserisce la stringa casuale nel database, influenzando la sua integrità e portando allo spreco di risorse.
Domanda: come posso proteggere la mia applicazione contro tali attacchi?