Domanda

Sto usando smarty e mysql_real_escape_string () per l'input dell'utente, e quando inserisco del codice con ' o " e cerco in phpmyadmin mostra senza barre rovesciate.

Quando ottengo i record da DB non ho anche le barre rovesciate. Ma quando passo solo una stringa di escape senza inserirla nel db è rovesciato.

Non dovrebbe aggiungere barre, inseriscile e poi vorrei spogliarli quando avrei prodotto? O mi sto perdendo qualcosa?

È stato utile?

Soluzione

Ti manca: la fuga con barre rovesciate ha lo scopo di garantire che le query non siano malformate, ad es. qualcosa del genere si romperà sicuramente e probabilmente rischierà iniezioni di SQL:

insert into table values ('whatever 'this' is')

e nulla verrà salvato nella tabella, mentre questo:

insert into table values ('whatever \'this\' is')

salverà il valore "qualunque sia" questo "è" nella tabella.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top