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

Devo mysql_real_escape_string la password inserita nel modulo di registrazione?

Bene, c'è un grosso malinteso.

mysql_real_escape_string() non pulito qualsiasi cosa. Non ha nulla a che fare con la sicurezza.

Questa funzione viene utilizzata solo per sfuggire ai delimitatori e nient'altro. Può aiutarti a inserire dati di stringa in una query SQL:tutto qui.

Quindi, ogni stringa che intendi mettere in query (mettendola tra virgolette), devi prepararla con questa funzione. In tutti gli altri casi sarebbe inutile o addirittura dannoso.

Pertanto,
da questo malinteso, stai facendo 2 errori principali qui:

  • stai utilizzando questa funzione non con i dati che stanno effettivamente andando alla query
  • puoi rovinare la tua password aggiungendovi alcuni simboli, in modo che diventi inutilizzabile

Inoltre, come nota a margine, tieni presente che questa funzione dovrebbe essere sempre utilizzata insieme a mysql_set_charset, o altrimenti a "_real_" parte di questa funzione diventa inutile