*   >> Lese Utdanning Artikler >> tech >> web development

Hvordan du kan beskytte din nettside php fra sql injection

SQL Injection

SQL-injeksjon er den vanligste formen for nettsiden hacking, det skjer når en bruker påvirker databasen uten tillatelse bruker sql-kode. For eksempel:.

En vunerable nettsted har en påloggingsside, passord feild er ikke beskyttet mot SQL-injeksjon, når en hacker ser dette, skriver de 'OR' '=' inn passordet feild

< p> Påloggings er behandlet slik:

SELECT * FROM `Brukere` WHERE brukernavn = '$ brukernavn' og passord = '$ passord'

Nå vil vi sette våre verdier:

SELECT * FROM `Brukere` WHERE brukernavn = 'admin' og passord = '' eller '' = ''

Legg merke til at passordet kontrollen er forbigått.

Nå koden sier å velge alle brukere hvis passordet er lik ingenting eller ingenting lik ingenting, som alltid er sant, så dette vil velge den første brukeren i databasen, som mest vanlig er administrator kontoen

. Så hvordan du forhindre disse angrepene?

Det finnes mange metoder for å forebygge en SQL-injeksjon, noen er enklere og bedre, men jeg tror at det er nyttig å vite mer enn én. I utgangspunktet hovedideen er å stoppe, eller kode apostrophy

Metode 1 -. Addslashes ()

I php koding er det en funksjon som heter addslashes.

Denne funksjonen legger backslashes før noen tegn som kan forårsake skade på databasen, eller lure den til å gi ut wrog informasjon. Et eksempel kan sees nedenfor:

Hvem er den mannen? ville bli satt inn i databasen som Hvem er den mannen? (Dette er ikke database trygt)

Når du bruker addslashes:

addslashes (? Hvem er den mannen) vil bli satt inn i databasen som Who \\ 's den mannen? (dette er database safe)

Å ha en backslash før 'betyr at databasen ikke gjenkjenner det som gyldig SQL-kode, og rett og slett ignorerer det

Metode 2 -.

kryptering

< . p> betyr Kryptering at informasjonen som sendes gjennom krypteres før den sendes til databasen for validering, betyr dette at informasjonen i databasen må også encryped imidlertid

Noen former for kryptering inkluderer: < .no>

  • md5 ()

  • sha1 ()

  • AES_ENCRYPT ()

    De to første er ok for grunnleggende nettsteder hvor den informasjonen som blir kryptert er ikke av stor verdi, men disse har blitt ødelagt på ulike måter, og verktøy som folk kan bruke til å knekke dem er wildley noe ledig, de likevel gi beskyttelse mot SQL-injeksjon tho, eksempel:

    md5 ('OR' '=') = c499fdb7541fcdcfdefbace0d86bfd56

    sh

    Page   <<       [1] [2] [3] >>
  • Copyright © 2008 - 2016 Lese Utdanning Artikler,https://utdanning.nmjjxx.com All rights reserved.