Sto costruendo un sito quiz, dove memorizzo alcune variabili (tempo impiegato per rispondere, quale opzione di risposta è stata scelta dall'utente ecc. Ecc.) In $_SESSION
s dopo ogni domanda - dove ho inserito queste statistiche solo nel DB dopo che l'utente ha completato il quiz.
Ho implementato alcuni if
per verificare se le variabili $_SESSION
sono numeri (is_numeric()
). Anche io convalidare la lunghezza (strlen()
) ecc
- Ma c'è un motivo per farlo?
- O è sufficiente solo a
real_escape_string()
quelli prima di memorizzarli in MySQL? - Inoltre, se ci fossero molti utenti, non sarà questo a mettere un grosso carico sul server ?
Se sei interessato a prevenire l'SQL injection, dovresti usare PDO o mysqli con istruzioni parametrizzate. In questo modo, indipendentemente da ciò che inserisci, non verrà mai valutato come codice MySQL. – jpodwys
Il caso è che non sto parlando solo di iniezioni SQL. Non c'è altro modo in cui qualcuno può attaccare il mio sito usando le variabili passate dall'utente? – joe007
@ joe007 sì, come XSS. –