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

Er urlencode() god nok til at stoppe alle SQL-injektionsangreb i år 2011

urlencode() har intet at gøre med SQL, så det gør lige så meget for at forhindre SQL-injektion, som petroleum gør for at gøre dine burgere mere lækre. Desuden vil alt, der kommer ind i din database, ende med URL-kodet, som du så skal afkode, hvis du vil gøre noget brugbart med dem efter at have hentet databasen.

At undslippe dine forespørgsler hjælper på den anden side din applikation med at beskytte sig mod SQL-injektion og intet mere. Det ændrer ikke dataene du indtaster dine forespørgsler; det beskytter kun dine forespørgsler fra at blive pillet ved. Det er ideen med SQL-injektion, og det er også grunden til, at URL-kodning af dine data ikke gør noget for at beskytte mod det. Indrømmet, det gør vend dine apostroffer ' ind i %27 , hvilket gør dem harmløse, men som nævnt i ovenstående afsnit, skal du URL-afkode dem tilbage til apostrof for at kunne bruge dem.

Brug det rigtige værktøj til det rigtige formål. Især i år 2011 bør du bruge forberedte udsagn i stedet for manuelt at undslippe dine forespørgselsvariabler og sammenkæde strenge for at danne forespørgsler.



  1. PostgreSQL tilbagekalder tilladelser fra pg_catalog-tabeller

  2. Gå i dvale ved at sende fremmede forespørgsler til databasen

  3. Sådan bruger du Hibernate eqOrIsNull()

  4. Hvordan henter man det næste element i en liste over MySQL-poster?