sql >> Databasteknik >  >> RDS >> Mysql

Är denna PHP-kod sårbar för SQL-injektion?

Ja, det är sårbart. Du pratar värden direkt från användarinmatning och placerar dem i din fråga.

Du bör titta på mysql_real_escape_string , eller (helst) använd MySQLi som tillhandahåller parametriserade frågor. SQL-injektioner orsakas av att användardata injiceras som SQL-kod istället för data. Det enda sanna sättet att säkra en fråga är att använda parametriserade frågor, som separerar data och frågetext på protokollnivå.

Dessutom lagras dina lösenord i klartext. Du bör använda en saltad hash-funktion som ett absolut minimum.

Du bör också ta en titt på dessa fantastiska frågor:



  1. Anslut till MySQL DB med multi-threading

  2. Hur väljer man data från en tabell där tabellnamnet har tomma utrymmen?

  3. MySQL Välj distinkta värden från 2 kolumner

  4. Säkerhetskopiering av PostgreSQL-databasdesign - utan data