sql inbjection

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robbert

robbert

14/12/2006 22:53:00
Quote Anchor link
hallo

ik heb nouw al aardig wat scriptjes gemaakt.
en ik vraag me r af wat precies sql injection is.
wiekan mij vertellen hoe het werkt.
en hoe ik me er tegen wapen.

Robbert
 
PHP hulp

PHP hulp

15/01/2025 12:39:23
 

14/12/2006 22:59:00
Quote Anchor link
Voorbeeld je query is:
$sql = "SELECT * FROM members WHERE memberid = '" . $_POST['memberid'] . "'";

Als iemand nu 12 invoert (dus $_POST['memberid'] = 12) wordt dit naar de db server gezonden:
SELECT * FROM members WHERE memberid = '12'

Maar als nu iemand iets meer invult, bijvoorbeeld 12'; DELETE FROM members WHERE memberid <> ' dan krijg de db server dus dit binnen:
SELECT * FROM members WHERE memberid = '12'; DELETE FROM members WHERE memberid <>'

Twee queries dus.
 
Jan Koehoorn

Jan Koehoorn

14/12/2006 23:00:00
Quote Anchor link
Heel in het kort komt het er op neer dat een user zodanige input geeft dat je query er heel anders uit gaat zien.

Stel, je hebt een query als:

SELECT username
FROM tabelnaam
WHERE username = '$_POST['username']'

en iemand vult in het formulier bij username in: jan' OR username LIKE '%

dan zou je query worden:

SELECT username
FROM tabelnaam
WHERE username = 'jan' OR username LIKE '%'

Dat soort queries wil je niet laten ontstaan. Het minste dat je kunt doen is mysql_real_escape_string over userinput halen. En als je een nummer als input verwacht, checken of de gebruiker werkelijk een nummer heeft ingevuld, bijvoorbeeld met is_numeric.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Robbert

robbert

14/12/2006 23:27:00
Quote Anchor link
is dat het enige wat je er aan kan doen ?
 
Jan Koehoorn

Jan Koehoorn

15/12/2006 00:00:00
Quote Anchor link
Dit is de basis. Maar zoek gerust met Google naar tutorials erover. Er zullen gerust nog andere manieren zijn.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.