[php] Cosa significa sfuggire a una stringa?


Answers

Alcuni personaggi hanno un significato speciale per il database SQL che stai utilizzando. Quando questi caratteri vengono utilizzati in una query, possono causare comportamenti imprevisti e / o non intenzionali, incluso consentire a un utente malintenzionato di compromettere il database. Per impedire a questi caratteri di influenzare una query in questo modo, è necessario che siano sfuggiti, o per dirla in un modo diverso, al database deve essere detto di non considerarli come caratteri speciali in questa query.

Nel caso di mysql_real_escape_string() viene \x1a l' \x1a \x00 , \n , \r , \ , ' , " e \x1a quanto questi, quando non sono sfuggiti, possono causare i problemi menzionati in precedenza che includono iniezioni SQL con un database MySQL.

Question

Stavo leggendo È necessario che $ _SESSION ['username'] sia preceduto da escape prima di entrare in una query SQL? e diceva "Devi sfuggire a ogni stringa che passi alla query sql, indipendentemente dalla sua origine". Ora so che qualcosa del genere è davvero di base. Una ricerca su Google ha ottenuto oltre 20.000 risultati. da solo ha avuto 20 pagine di risultati, ma nessuno in realtà spiega cosa sia l'escape di una stringa o come farlo. È appena assunto. Mi potete aiutare? Voglio imparare perché come sempre sto facendo un'app web in PHP.

Ho visto: Inserimento di caratteri di escape , quali sono tutti i caratteri di escape in Java? , Impossibile uscire da una stringa con addcslashes () , carattere Escape , cosa fa veramente mysql_real_escape_string ()? Come posso sfuggire le doppie virgolette da una stringa in php? , MySQL_real_escape_string non aggiunge le barre? , rimuovi le sequenze di escape dalla stringa in php potrei continuare ma sono sicuro che ottieni il punto. Questa non è pigrizia.




Links