Injections sker fordi du normalt sender hele instruktionen til SQL enginen som en streng, hvor visse tegn betyder nogle bestemte ting. Hvis brugeren efterligner de tegn, kan det opfattes som instruktioner i stedet for værdier, fordi når det bare er en streng, aner serveren ikke hvad der kommer fra brugeren og hvad der er fra koden.
Når du bruger prepared statements, sender du kun instruktionerne som en streng, og værdierne helt separat fra denne, så serveren ikke er i tvivl om hvad der er hvad. Derfor er injections ikke længere et umiddelbart problem.
#6: Ja. Grunden til at det normalt skaber problemer, er at det bliver sendt som én streng med både instruktioner og værdier i, og ' derfor kan opfattes som afslutningen på en værdi, selvom det efterfølgende er en del af værdien. Med prepared statements er værdier ikke begrænset af anførselstegn eller noget andet tegn. De sendes helt separat til databaseserveren.
har en laengere forklaring omkring det. Og flere mysqli eksempler.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.