*   >> Lezen Onderwijs artikelen >> tech >> web development

Hoe kunt u uw php webpagina te beschermen tegen sql injection

SQL injectie

SQL-injectie is de meest voorkomende vorm van de website van hacking, het gebeurt wanneer een gebruiker uw database beïnvloedt zonder toestemming gebruik van SQL-code. Bijvoorbeeld:.

Een vunerable website heeft een login pagina, het wachtwoord feild is niet beschermd tegen SQL-injectie, wanneer een hacker ziet dit, ze typen 'OF' '=' in het wachtwoord feild

< p> De login wordt verwerkt als dit:

SELECT * FROM `users` WHERE username = '$ gebruikersnaam en wachtwoord =' ​​$ password '

Nu zullen we voegen onze waarden:

SELECT * FROM `users` WHERE username = 'admin' en het wachtwoord = '' of '' = ''

Merk op dat het wachtwoord controle is gepasseerd.

Nu is de code zegt dat voor elke gebruiker te selecteren als het wachtwoord is gelijk aan niets of niets is gelijk aan niets, dat is altijd het geval, dus dit zal de eerste gebruiker in de database, die meest voorkomende is de Administrator-account te selecteren.

Dus hoe om te voorkomen dat deze aanvallen?

Er zijn vele manieren om te voorkomen dat een SQL-injectie, sommige zijn gemakkelijker en beter, maar ik denk dat het handig om meer dan één weten. In principe is het belangrijkste idee is om te stoppen, of coderen apostrophy

Methode 1 -.

Addslashes ()

In php codering is er een functie genaamd addslashes. Deze functie voegt backslashes voordat er tekens die schade kunnen toebrengen aan uw database, of gek het in het geven van wrog informatie. Een voorbeeld is hieronder te zien:

Wie is die man? zou worden opgenomen in de database Wie is die man? (Dit is niet de database veilig)

Wanneer u addslashes:

addslashes (? Wie is die man) zou in de database als Who \\ 's die man worden geplaatst? (dit is de database veilig)

Het hebben van een backslash voor de 'betekent dat de database niet herkennen als geldige SQL-code, en gewoon negeert

Methode 2 -.

encryptie

< . p> Encryptie betekent dat de langs versleuteld voordat deze naar de database ter validatie verzonden wordt verzonden, betekent dit dat de informatie in de databank echter ook worden encryped

Sommige soorten codering omvatten:


  • md5 ()

  • sha1 ()

  • AES_ENCRYPT ()

    De eerste twee zijn ok voor eenvoudige websites waar de informatie die wordt gecodeerd is niet van grote waarde, maar deze zijn gekraakt op verschillende manieren, en tools die mensen kunnen gebruiken om ze te kraken zijn wildley availiable bieden ze nog

    Page   <<       [1] [2] [3] >>
  • Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.