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

Prevenzione dell'iniezione di PHP SQL con operazioni sulle stringhe

Certo, puoi proteggerti dall'iniezione con mysql_real_escape_string($postID) , purché non ti dispiaccia una query ogni volta che chiami la funzione.

PDO e MySQLi forniscono molto di più della semplice protezione dall'iniezione. Consentono istruzioni preparate che possono proteggere contro l'iniezione senza più chiamate al db. Ciò significa prestazioni complessive più veloci. Immagina di provare a inserire in una tabella un record utente con 30 colonne... è un sacco di mysql_real_escape_string() chiamate.

Le istruzioni preparate inviano tutti i dati contemporaneamente insieme alla query e ne effettuano l'escape sul server in un'unica richiesta. Le affermazioni preparate per il supporto di Mysql DB, le vecchie librerie php mysql_ non le supportano.

È ora di passare a mysqli o, preferibilmente, PDO:non ti guarderai mai indietro.