*   >> lukeminen koulutus Artikkelit >> tech >> web development

Miten suojata php verkkosivun SQL injection

SQL Injection

SQL injection on yleisin sivuston hakkerointi, se tapahtuu, kun käyttäjä vaikuttaa tietokantaan ilman lupaa käyttää SQL-koodin. Esimerkiksi:

vunerable verkkosivuilla on kirjautumissivulla, salasana feild ei ole suojattu sql injektio, kun hakkeri näkee tämän, he kirjoittavat "tai" "=" osaksi salasana feild.


< p> kirjautuminen käsitellään näin:

SELECT * FROM `` käyttäjille` WHERE username = '$ käyttäjätunnus' ja salasana = '$ salasana'

Nyt me lisätä arvomme:

Valitse * FROM `` käyttäjille` WHERE username = "admin" ja salasana = '' tai '' = ''

Huomaa, että salasanan tarkistus on ohitettu. Nyt koodin sanoo valita minkä tahansa käyttäjälle, jos salasana vastaa mitään tai ei mitään vastaa mitään, mikä on aina totta, niin tämä valitse ensimmäinen käyttäjä tietokantaan, joka eniten yleisimmin on järjestelmänvalvojan tili.


So miten voit estää nämä hyökkäykset?

On olemassa monia menetelmiä ehkäistä SQL injektio, jotkut ovat helpommin ja paremmin, mutta uskon, että sen kätevä tietää enemmän kuin yksi. Periaatteessa tärkein ajatus on pysäyttää tai koodata apostrophy.

Menetelmä 1 - addslashes ()

PHP koodaus on toiminto nimeltään addslashes. Tämä toiminto lisää kenoviivoja ennen merkkejä haitallisen tietokantaan, tai huijata se antaa pois wrog tietoa.

Esimerkiksi voidaan nähdä alla:

Kuka tuo mies? olisi työnnetään tietokantaan Kuka tuo mies? (Tämä ei ole tietokanta turvallinen) B

Kun käytät addslashes:

addslashes (Kuka tuo mies?) Olisi työnnetään tietokantaan Kuka \\ 's että mies? (Tämä on tietokanta turvallinen)

ottaa kenoviiva ennen "tarkoittaa, että tietokanta ei tunnista sitä voimassa SQL-koodin, ja yksinkertaisesti ohittaa sen.


Menetelmä 2 - salaus

< p> Salaus tarkoittaa sitä, että tiedot, jotka lähetetään salataan ennen kuin se lähetetään tietokantaan validointi, tämä tarkoittaa, että tiedot tietokantaan on myös encryped kuitenkin.

Jotkut muotoja salauksen ovat:

  • md5 ()

  • SHA1 ()

  • AES_ENCRYPT ()

    Kaksi ensimmäistä ovat ok perus sivustot, joissa tiedot, jotka on salattu ei suurta arvoa, mutta nämä ovat säröillä eri tavoin, ja työkaluja, ihmiset voivat käyttää crack niitä ovat wildley availiable, he silti tarjota suojaa sql injektio tho, esimerkiksi:

    md5 ('tai' '=) = c499fdb7541fcdcfdefbace0d86bfd56

    SHA1 (' tai '' =) = 260144b2c2823de61faa908bc8

    Page   <<       [1] [2] [3] >>
  • Copyright © 2008 - 2016 lukeminen koulutus Artikkelit,https://koulutus.nmjjxx.com All rights reserved.