sql >> Databasteknik >  >> RDS >> Mysql

Bör jag mysql_real_escape_string lösenordet som angavs i registreringsformuläret?

Tja, det finns ett stort missförstånd.

mysql_real_escape_string() inte ren vad som helst. Det har ingenting med säkerhet att göra alls.

Denna funktion används bara för att undvika avgränsningar och inget mer. Det kan hjälpa dig att lägga in strängdata i SQL-frågan - det är allt.

Så varje sträng du ska lägga in i frågan (genom att sätta den inom citattecken), måste du förbereda den med den här funktionen. I alla andra fall skulle det vara värdelöst eller till och med skadligt.

Därför,
av detta missförstånd gör du två stora misstag här:

  • du använder den här funktionen inte med data som faktiskt går till frågan
  • du kan förstöra ditt lösenord genom att lägga till några symboler till det, så att det blir oanvändbart

Tänk också på att den här funktionen alltid ska användas tillsammans med mysql_set_charset, eller på annat sätt en "_real_" en del av denna funktion blir värdelös



  1. Ansluter RStudio till SQL Server

  2. Varning väckts genom att infoga 4-byte unicode i mysql

  3. Accenttecken i mySQL-tabellen

  4. Vad är skillnaden mellan MySQL, MySQLi och PDO?