Mysql
 sql >> Database >  >> RDS >> Mysql

Quando disinfettare il codice PHP e MySQL prima di essere archiviato nel database o quando viene visualizzato?

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:

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