sql >> Database teknologi >  >> RDS >> Mysql

funktion til at rense input til Mysql-database

htmlentities() er unødvendig for at gøre data sikre for SQL. Det bruges ved ekko af dataværdier til HTML-output for at undgå XSS-sårbarheder. Det er også et vigtigt sikkerhedsproblem, du skal være opmærksom på, men det er ikke relateret til SQL.

addslashes() er redundant med mysql_real_escape_string. Du ender med bogstavelige skråstreger i dine strenge i databasen.

Brug ikke magiske citater. Denne funktion har været forældet i mange år. Implementer ikke PHP-kode i et miljø, hvor magiske citater er aktiveret. Hvis det er aktiveret, skal du slukke det. Hvis det er et hostet miljø, og de ikke vil slå magiske citater fra, skal du få en ny hostingudbyder.

Brug ikke ext/mysql . Det understøtter ikke forespørgselsparametre, transaktioner eller OO-brug.

Opdatering:ext/mysql blev forældet i PHP 5.5.0 (2013-06-20) og fjernet i PHP 7.0.0 (2015-12-03). Du kan virkelig ikke bruge det.

Brug BOB , og gør dine forespørgsler mere sikre ved at bruge forberedte forespørgsler .

For flere detaljer om at skrive sikker SQL, læs min præsentation SQL Injection Myths and Fejlslutninger .



  1. Ulovlig blanding af sorteringsfejl i MySql

  2. Hvordan lister jeg alle tabeller i alle databaser i SQL Server i et enkelt resultatsæt?

  3. Sådan kører du SHOW LOCALES i MariaDB

  4. sql-forespørgsel:hvordan laver man tags uden børn til at blive forældre?