SQL injektioner är attacker som utförts mot en webbplats som riktar webbplatsens SQL-databas . Ett stort antal webbplatser använder PHP för att kommunicera med sina databaser , och det finns några sätt att skydda mot SQL- injektioner genom korrekt användning av PHP . Använd MySQL Escape String
" mysql_escape_string ( ) " -funktion tar en sträng input i PHP och matar strängen med alla SQL specialtecken kommenterade ut så att de inte kan skada databasen . Ett exempel på dess användning är följande :
$ newString = mysql_escape_string ( $ inputString ) ,
Ta apostrof
apostrofer tecken i SQL som anger början och slutet av fält , och kan vara det första steget mot en SQL- injektion attack . Ta bort dem från den ingående strängen enligt följande :
$ newString = str_replace ( $ inputString , " ' " , " " ) ;
Sätt en flykt tecknet framför specialtecken
Använd " str_replace ( ) " -funktion för att sätta snedstreck framför specialtecken . När ett snedstreck är framför en speciell karaktär , kommer SQL behandla speciella karaktär som vanlig text . Till exempel , kan du använda följande kod för att sätta ett snedstreck framför eventuella semikolon :
$ newString = str_replace ( $ inputString , " , " , " \\ ; " ) ;
Använd Mysql Real Escape String
" mysql_real_escape_string ()" funktion liknar den " mysql_escape_string ( ) "-funktion, med undantag av att det används på binära data . Användningen av denna funktion är identisk med mysql_escape_string ( ) funktionen , som så :
$ newString = mysql_real_escape_string ( $ inputString ) ,