Sto modificando la mia domanda per chiarire cosa sto cercando di chiedere.
Per avviare un'iniezione SQL ci dovrebbe essere in qualche modo l'input da parte dell'utente (ad esempio, nome utente e password) per esempio. Quindi sono stato esposto all'attacco e alla soluzione stessa, l'enfasi della soluzione è stata quella di convalidare l'input e in qualche modo di filtrarlo da caratteri speciali, che era solo una semplice soluzione che fondamentalmente non sarebbe efficace perché se un autorizzato la password dell'utente conteneva caratteri speciali (es. # ,! ecc.) quindi quell'utente non sarà in grado di accedere al sistema. La mia domanda è (anche se quella non era la soluzione migliore) perché dovrebbe filtrare l'input della password ... il nome utente non sarà sufficiente perché di solito all'interno della query SQL l'input del nome utente viene prima dell'input della password, quindi perché filtrare entrambi?
(PS Sono stato anche esposto alle query parametrizzate che sono migliori del filtro di caratteri speciali di base, ma mi piacerebbe sapere a cosa serve filtrare la password nel primo caso)
Ultima modifica:
Dalle risposte e dai commenti che ho ricevuto su questa domanda, penso di poter rendere un po 'più chiaro ... quello che stavo cercando di chiedere è perché dovremmo filtrare la password oltre a filtrare il nome utente. Se il filtro include il rilevamento di caratteri speciali e la password dell'utente contiene caratteri speciali, un utente valido non potrà accedere al sistema.