Ja, het is kwetsbaar. Je hebt het over waarden die rechtstreeks afkomstig zijn van gebruikersinvoer en deze in je zoekopdracht plaatsen.
Je zou moeten kijken naar mysql_real_escape_string
, of (bij voorkeur) gebruik MySQLi die query's met parameters biedt. SQL-injecties worden veroorzaakt doordat gebruikersgegevens worden geïnjecteerd als SQL-code in plaats van gegevens. De enige echte manier om een query te beveiligen, is het gebruik van geparametriseerde query's, die de gegevens en de querytekst op protocolniveau scheiden.
Bovendien worden uw wachtwoorden in platte tekst opgeslagen. Je moet een gezouten hashfunctie als absoluut minimum gebruiken.
Kijk ook eens naar deze geweldige vragen:
- Hoe kan ik SQL-injectie voorkomen in PHP?
- Beveiligde hash en salt voor PHP-wachtwoorden
- De definitieve gids voor formulier- gebaseerde website-authenticatie