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.
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
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
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:
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