Il mio codice è:
SELECT * FROM tlb_members WHERE username="{mysqli_real_escape_string($_GET['test'])}"
Sto cercando e alcune persone hanno detto che usare le virgolette nelle istruzioni SQL è sicuro. È vero?
È per lo più sicuro, tranne che in alcuni casi d'angolo riguardanti alcuni set di caratteri . Tuttavia, non è l'approccio corretto.
Ma prima, PDO con impostazione predefinita la configurazione soffre anche dei casi d'angolo sopra descritti.
Ci sono comunque ottime ragioni per non farlo in questo modo:
mysqli_real_escape_string
dappertutto. Non si sanifica correttamente il parametro GET HTTP. L'unico buon modo per prevenire l'SQL injection è usare query parametrizzate.
Dai un'occhiata a MeekroDB: link questo dovrebbe aiutarti a creare query piuttosto sicure e per me è anche molto più facile da usare .
Tieni presente che ciò che è considerato sufficientemente sicuro oggi potrebbe cambiare durante la notte. Non esistono cose come la sicurezza al 100%.
Leggi altre domande sui tag php sql-injection mysql