sql >> Database >  >> RDS >> Mysql

Moet ik mysql_real_escape_string het wachtwoord invoeren dat in het registratieformulier is ingevoerd?

Welnu, er is één groot misverstand.

mysql_real_escape_string() niet schoon alles. Het heeft helemaal niets met beveiliging te maken.

Deze functie wordt alleen gebruikt om scheidingstekens te omzeilen en niets meer. Het kan u helpen om stringgegevens in SQL-query's te plaatsen - dat is alles.

Dus elke string die je in een query gaat plaatsen (door hem tussen aanhalingstekens te zetten), moet je voorbereiden met deze functie. In alle andere gevallen zou het nutteloos of zelfs schadelijk zijn.

Dus,
vanwege dit misverstand maak je hier 2 grote fouten:

  • je gebruikt deze functie niet met gegevens die daadwerkelijk naar de query gaan
  • je kunt je wachtwoord bederven door er symbolen aan toe te voegen, zodat het onbruikbaar wordt

Houd er ook rekening mee dat deze functie altijd moet worden gebruikt in combinatie met mysql_set_charset, of anders een "_real_" een deel van deze functie wordt nutteloos



  1. Converteer 'datetime' naar 'time' in SQL Server (T-SQL-voorbeelden)

  2. Hoe verlaat ik een script in SQLPlus wanneer er een fout optreedt en keer ik terug naar de SQLPlus-prompt, zonder SQLPlus te verbreken of af te sluiten?

  3. PostgreSQL:Query heeft geen bestemming voor resultaatgegevens

  4. Gegevens koppelen aan of importeren uit Salesforce