*   >> läser Utbildning artiklar >> tech >> web development

Hur du skyddar din PHP webbsida från sql injection

SQL-injektion Omdömen

SQL-injektion är den vanligaste formen av webbplats dataintrång, händer det när en användare påverkar din databas utan tillstånd att använda SQL-kod. Till exempel:. Omdömen

En vunerable webbplats har en inloggningssida, lösenords feild är inte skyddad från SQL injektion när en hacker ser detta, skriver de 'OR' '=' i lösenords feild Omdömen < p> Inloggningen behandlas så här:

SELECT * FROM `users` där användarnamn = '$ användarnamn" och lösenord =' ​​$ lösenord "Omdömen

Nu ska vi sätta våra värderingar:

SELECT * FROM `users` där användarnamn =" admin "och lösenord =" "ELLER" '=' 'Omdömen

Lägg märke till att lösenordskontroll har kringgås.

Nu koden säger att välja någon användaren om lösenordet är lika ingenting eller ingenting är lika med ingenting, som alltid är sant, så detta kommer att välja den första användaren i databasen, som mest allmänt är administratörskontot. Omdömen

Så hur du förhindra dessa attacker? Omdömen

Det finns många metoder för att förhindra SQL-injektion, vissa är lättare och bättre, men jag tror att det bra att veta mer än en. I grund och botten huvudtanken är att stoppa, eller koda apostrophy Omdömen

Metod 1 -. Addslashes () Review

I php kodning finns en funktion som kallas addslashes.

Denna funktion lägger snedstreck innan några tecken som kan orsaka skada på din databas, eller lura den till att ge ut WROG information. Ett exempel kan ses nedan: Omdömen

Vem är den mannen? skulle föras in i databasen som Vem är den mannen? (Detta är inte databasen säker) Review

När du använder addslashes:

addslashes (? Vem är den mannen) skulle föras in i databasen som Who \\ 's den mannen? (detta är databas säker) Review

Med en backslash före "innebär att databasen inte erkänna den som giltig sql-kod, och helt enkelt ignorerar det Omdömen

Metod 2 -.

kryptering Omdömen < . p> Kryptering innebär att den information som skickas via krypteras innan den skickas till databasen för validering, innebär det att informationen i databasen måste också encryped dock Omdömen

Vissa former av kryptering innefattar:

  • md5 () Review
  • sha1 () Review
  • AES_ENCRYPT ()

    De två första är ok för grundläggande webbplatser där informationen som krypteras är inte av stort värde, men dessa har knäckt på olika sätt, och verktyg som folk kan använda för att knäcka dem är wildley availiable, de fortfarande ge skydd mot SQL-injektion tho, exempel:

    Page   <<       [1] [2] [3] >>
  • Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.