sql >> Database >  >> RDS >> Mysql

functie om invoer naar Mysql-database te zuiveren

htmlentities() is niet nodig om gegevens veilig te maken voor SQL. Het wordt gebruikt bij het herhalen van gegevenswaarden naar HTML-uitvoer, om XSS-kwetsbaarheden te voorkomen. Dat is ook een belangrijk beveiligingsprobleem waar u rekening mee moet houden, maar het heeft niets te maken met SQL.

addlashes() is overbodig met mysql_real_escape_string. Je krijgt dan letterlijke backslashes in je strings in de database.

Gebruik geen magische aanhalingstekens. Deze functie is al jaren niet meer beschikbaar. Implementeer geen PHP-code in een omgeving waar magische aanhalingstekens zijn ingeschakeld. Als het is ingeschakeld, schakelt u het uit. Als het een gehoste omgeving is en ze magische aanhalingstekens niet uitschakelen, neem dan een nieuwe hostingprovider.

Gebruik geen ext/mysql . Het ondersteunt geen queryparameters, transacties of OO-gebruik.

Update:ext/mysql is verouderd in PHP 5.5.0 (2013-06-20) en verwijderd in PHP 7.0.0 (2015-12-03). Je kunt het echt niet gebruiken.

Gebruik BOB , en maak uw zoekopdrachten veiliger door voorbereide zoekopdrachten te gebruiken .

Voor meer details over het schrijven van veilige SQL, lees mijn presentatie SQL-injectiemythen en Drogredenen .



  1. execSQL() met UPDATE wordt niet bijgewerkt

  2. Installatie van RODBC/ROracle-pakketten op OS X Mavericks

  3. Kan de null-waarde van JSON_EXTRACT niet detecteren

  4. 50 Shades of NULL – De verschillende betekenissen van NULL in SQL