check parameters voor gebruik in query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Raymond

raymond

01/03/2009 17:51:00
Quote Anchor link
Ik wil mijn queries veiliger maken door parameters die ik gebruik in mijn query. Te controlerern op SQL functies zoals DROP Table. Zodat kwaat willende niet mijn queries kunnen beinvloeden door de parmeters te veranderen.

iemand een idee hoe ik goed dynamisch opbouw.

Alvast bedankt.
 
PHP hulp

PHP hulp

28/11/2024 22:36:43
 
Steen

steen

01/03/2009 17:53:00
Quote Anchor link
Als het goed is kan niemand daar aanzitten, zorg gewoon dat het van te voren is beveiligd.
 
Frank -

Frank -

01/03/2009 17:59:00
Quote Anchor link
1) Zorg er voor dat je een database user gebruikt die alleen die dingen mag doen die hij ook moet doen. Denk aan INSERT, SELECT en UPDATE. Alle andere taken zijn verboden, die rechten geef je niet of trek je in. Dat lost dan al 99% van je problemen op.
2) Queries uitvoeren met pg_query_params() (PostgreSQL) of keer op keer alle parameters met mysql_real_escape_string() gaan beveiligen (MySQL).

Ook zou je nog stored procedures kunnen gebruiken, wanneer je die goed aanmaakt wordt SQL-injection echt volkomen onmogelijk. Gebruikers kunnen dan niet meer bij de tabellen komen en kunnen dus ook niets meer uitvoeren wat ze niet zouden mogen. Hiervoor heb je wel wat meer kennis nodig.
 
Raymond

raymond

01/03/2009 18:12:00
Quote Anchor link
ik ben nog niet heel bekend met php. ik scrijf nu vooral functies die ik met behulp van amfphp van uit flash uitvoer. de parameters die ik van uit flash meestuur naar amfphp zijn makkelijk beinvloedbaar.

aangezien ik niet zo goed ben met php dacht ik zelf meer aan een contole van de query als deze dan bv Drop Table bevat voer ik hem niet uit.
is dit een goede optie?
hoe voer ik dan het beste z'n contole uit
 
Frank -

Frank -

01/03/2009 18:16:00
Quote Anchor link
Een user mag DROP TABLE tabelnaam; uitvoeren tot hij een ons weegt, zonder de juiste rechten (die JIJ instelt) zal er nooit een tabel worden verwijderd. En wanneer JIJ er voor zorgt dat al jouw parameters met de reeds genoemde functies worden verwerkt, zal een DROP TABLE gewoon worden gezien als een stuk tekst en niet als een stuk SQL. Hoe je het ook wendt of keert, er kán dan nooit een ongewenste query worden uitgevoerd. En mocht deze wel worden uitgevoerd, dan wordt deze afgeschoten met een foutmelding dat er onvoldoende rechten zijn. Dus waarom zou je dat gaan controleren? Om jezelf extra werk te bezorgen? Schijnveiligheid? Lijkt mij niet bijzonder zinvol.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Raymond

raymond

01/03/2009 18:28:00
Quote Anchor link
bedankt voor de uitleg.
het was dus een overbodige gedachte gang om de parameters te gaan controleren.

Scheelt weer een hoop werk.
 



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.