Ci sono minacce distinte di cui stai (probabilmente) parlando qui:
- Devi igienizzare dati inseriti nel database per evitare iniezioni SQL .
- Devi anche fare attenzione con i dati che vengono visualizzati dall'utente, poiché potrebbero contenere script dannosi (se sono stati inviati da altri utenti). Vedi la voce di Wikipedia per scripting cross-site (alias XSS)
Ciò che è dannoso per il tuo database non è necessariamente dannoso per gli utenti (e viceversa). Devi prenderti cura di entrambe le minacce di conseguenza.
Nel tuo esempio:
- Usa mysqli::real_escape_string () sui dati inseriti nel tuo db (sanificazione)
Probabilmente vorrai utilizzare il purificatore prima dell'inserimento dei dati:assicurati solo che sia "purificato" quando l'utente lo ottiene.
Potrebbe essere necessario utilizzare stripslash
() sui dati recuperati dal db per visualizzarli correttamente all'utente se magic_quotes
sono attivi