Sto costruendo un'applicazione web, in cui sono obbligato a consentire all'utente di inserire qualsiasi carattere (anche caratteri speciali - ~!@#$%^&*()_-+=|\{}[];:'"<,.>
) in un campo di input. Per mitigare i problemi causati da loro, mi prendo cura di due cose -
- Iniezione SQL - utilizzando query parametrizzate
- Cross Site Scripting: HTML che richiede l'input dell'utente prima di aggiungerlo a DOM.
È sufficiente o mi manca qualcosa?
Modifica Per dare un contesto migliore, sto spiegando il flusso.
Nella mia applicazione web, l'input dell'utente passa direttamente a un database. Viene prelevato dal database per creare HTML (anche impostando attributi e stili di elementi html) e JSON. Sto evadendo i valori recuperati dal database durante la creazione di HTML.
Durante la creazione di JSON, non sto sfuggendo a quei valori recuperati. Questo JSON è utilizzato dalla nostra altra applicazione per creare HTML. E mi sto assicurando che i valori siano sfuggiti prima di essere inseriti in HTML.