Visa ett inlägg
Oläst 2009-10-05, 14:29 #7
BjörnJ BjörnJ är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2009
Inlägg: 971
BjörnJ BjörnJ är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2009
Inlägg: 971
Om man skickar data angiven av användare rakt in i databasen går det att utifrån skicka vilka kommandon man vill till databasen.

T.ex. om någon skriver följande i formuläret:
'; DELETE FROM tblIngrediens WHERE 'a'='a

Så kommer följande skickas till databasen:
INSERT INTO tblIngrediens SET ingrediens=''; DELETE FROM tblIngrediens WHERE 'a'='a'

Det kallas SQL injection.
http://en.wikipedia.org/wiki/SQL_injection

mysql_real_escape_string() byter ut t.ex. ' mot \' så att databasen vet att ' är en del av texten, och inte avslut på strängen.

Man bör absolut använda mysql_real_escape_string() även om det bara är admin som har tillgång till formuläret.

Tillägg:
Se även http://se2.php.net/manual/en/functio...ape-string.php

Senast redigerad av BjörnJ den 2009-10-05 klockan 14:38 Anledning: Tillägg
BjörnJ är inte uppkopplad   Svara med citatSvara med citat