sql >> Database >  >> RDS >> Mysql

Is deze PHP-code kwetsbaar voor SQL-injectie?

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:



  1. Hergebruik rijen in mysql-tabel zonder automatisch ophogen

  2. Loop op tabellen met PL/pgSQL in Postgres 9.0+

  3. MySQL-syntaxisfout op DELIMITER vóór CREATE TRIGGER

  4. [UPDATE 2] Kritiek:Office Update verbreekt toegang - Query is beschadigd