< /form > 
  dopo aver premuto invio dei dati immessi viene quindi inviato alla pagina di userlogin.php che riceve e gestisce attraverso una query sul database per controllare il livello di accesso utente è e se ha inserito il nome utente e la password corretti . 
 
 < ? $ username = $ _POST [ 'username' ] ; $ password = $ _POST [ 'password' ] ; $ query = "SELECT username, password FROM utenti WHERE username = ' $ username' e la password = ' $ password' " ; ? > 
 
 Questo tipo di modulo di login è aperta allo sfruttamento da attacchi di iniezione di MySQL . Per accedere al sito ogni utente può inserire il seguente codice: 'OR 1 = 1 - per il nome utente e ' OR 1 = 1 per la password 
 
 Query sarà ora simile a questa : $ query = "username SELECT. , password FROM utenti WHERE username = '' OR1 = 1 - ' e password = '' OR 1 = 1 " ; 
 
 Questa query selezionerà username e password da parte degli utenti , dove non esistono nomi utente o password ( '' parte) o se uno è uguale a uno. Come uno è uguale in tutti i casi una sicurezza del database è compromessa . Due trattini prima apostrofo sono stati aggiunti per rendere MySQL ignorare apostrofo che è ormai superfluo . Questo è solo un tipo di attacco con iniezione di MySQL . Un'altra variante di questo attacco è quello di GetAccess a più informazioni che all'utente è consentito . 
 
 Ora guarda un esempio in cui il proprietario del database utilizza seguente queryto ottenere i dati per la visualizzazione su account utente pagina info . 
 < P > $ query = "SELECT * FROM utenti WHERE username = ' $ name' " ; 
 
 Se questo tipo di ricerca non è protetto utente malintenzionato è in grado di input'OR 1 = 1 - per bypassare verificare nome utente. $ query = "SELECT * FROM utenti WHERE username = '' OR 1 = 1 - '" , . Questa query ora non selezionare solo i dati degli utenti , ma i dati di tutti gli utenti nella tabella " utenti" 
 < br > 
 Protezione contro MySQL iniezioni 
 
 Ci sono molti modi per proteggere contro MySQL iniezioni . In realtà le iniezioni di MySQL sono minacce solo se lo sviluppatore ha ignorato la minaccia e non è riuscito a proteggere il suo codice . Il modo più semplice per proteggere le iniezioni in combinazione PHP e MySQL è quello di utilizzare la funzione PHP : " mysql_real_escape_string " 
 
 Tornando al primo esempio < $ username = $ _POST [ 'username' ] ; $ . . ? password = $ _POST [ 'password' ] ; $ query = "SELECT username, password FROM utenti WHERE username = ' $ username' e la password = ' $ password' " ; ? > 
 
 per proteggere da MySQL iniezioni usi diretti di input utente devono befiltered attraverso " mysql_real_escape_string " . Funzione " mysql_real_escape_string " sfuggirà tutte MySQL caratteri speciali eliminando la possibilità di modificare il comportamento della nostra query 
 
 < $ username = mysql_real_escape_string ( $ _POST [ 'username' ] ) . ? $ Password = mysql_real_escape_string ( $ _POST [ ,"'password' ] ) ; $ query = "SELECT username, password FROM utenti WHERE username = ' $ username' e la password = ' $ password' " ; ? >