Ho letto alcune informazioni sulla protezione delle applicazioni PHP e mi sembra che mysqli_real_escape_string
sia la funzione corretta da utilizzare quando si inseriscono dati in tabelle MySQL perché addslashes
può causare alcuni eventi strani per un aggressore intelligente. Destra?Htmlentities vs addslashes vs mysqli_real_escape_string
Tuttavia, c'è una cosa che mi confonde. Mi sembra di ricordare di essere stato avvisato che addslashes
è meglio di htmlentities
quando riecheggiamo i dati immessi dall'utente agli utenti per proteggere i loro dati, ma sembra che addslashes
sia quello con la vulnerabilità. È vero o mi ricordo male?
Le istruzioni preparate in velocità sono migliori solo se si utilizza la query preparata più volte in un singolo script. Altrimenti, stai facendo due round trip sul server, una volta per prepararti e una volta per eseguire. Se stai già utilizzando un codice che garantisce automaticamente la convalida dell'input, non so perché le dichiarazioni preparate siano migliori. i documenti mysql trattano questo. http://dev.mysql.com/tech-resources/articles/4.1/prepared-statements.html Se ho torto (è possibile e probabile), per favore dimmi perché. –
Saluti Mike. Ho visto questo argomento contrario troppe volte e penso che debba essere messo a riposo. Per favore, capisci che non sono d'accordo con quello che hai detto. Tuttavia non sono d'accordo con questo consiglio in un forum come questo. Penso che la sicurezza dovrebbe essere una priorità più alta rispetto alle prestazioni soggette a errori in questo caso. L'OP non si lamentava del suo sito, ma piuttosto della mancanza di una chiara definizione tra le diverse tecniche di fuga. Non concorderesti sul fatto che qualcuno che inizia questo viaggio dovrebbe prendere la strada più sicura? –
Sono assolutamente d'accordo. Stavo chiedendo delle prestazioni per me stesso perché non sono sicuro della risposta. Non l'ho detto chiaramente. –