mysql_real_escape

Gestart doorMarv14 reacties49 weergaven

15 berichten · pagina 1 van 1

Marv

Lid · Topicstarter

Berichten
3.092
Reputatie
1
Punten
0,21
Lid sinds
Laatst gezien
Heleu Guys,

Van de week was ik even een script aan het uittesten op een site. Toen zeiden ze op phphulp dat ik mysql_real_escape moest gaan gebruiken.

Nu lukt dit aardig goed, als ik een mysql query maak gebruik ik het altijd als ik een andere mysql query erin zet. ook met $_POST gebruik ik het ook.

Maar nu had ik een vraag. als ik gewoon dit heb:

SELECT gebruikersnaam,avatar FROM leden WHERE id=1

Moet ik die gebruikersnaam en avatar ook in mysql_real_escape zetten?

Wie o wie kan me hiermee helpen ;p

Alvast bedankt,
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Nope
0
Marv

Lid · Topicstarter

Berichten
3.092
Reputatie
1
Punten
0,21
Lid sinds
Laatst gezien
Ok, Dan kan Topic Dicht biggrin
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Alleen als het POST/GET/COOKIE variabelen zijn, dienen deze te worden escaped.
0
Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Aarclay schreef:
Alleen als het POST/GET/COOKIE variabelen zijn, dienen deze te worden escaped.
Of een variable die enige bovenstaand opgenoemde dingen bevat. Soms handig om elke var te beveiligen. Behalve als je veel vars gaat gebruiken met haakjes in wat ook bedoeling is.
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
@ Aarlay & Vriendje: Elke var waarvan jij weet wat erin staat hoef je niet te escapen (tenzij er uiteraard karakters in staan die je MOET escapen).
Bij gebruikersinput (GET, POST, COOKIE dus, zoals Aarclay zegt), moet je eigenlijk altijd escapen. Je weet nooit 100% zeker wat de gebruiker kan invoeren.
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Rik schreef:
@ Aarlay & Vriendje: Elke var waarvan jij weet wat erin staat hoef je niet te escapen (tenzij er uiteraard karakters in staan die je MOET escapen).
Bij gebruikersinput (GET, POST, COOKIE dus, zoals Aarclay zegt), moet je eigenlijk altijd escapen. Je weet nooit 100% zeker wat de gebruiker kan invoeren.
Dit dus, het slaat nergens op om de rest ook maar te escapen. smile
0
Berichten
3.074
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Sorry voor de bump, maar SESSION moet toch ook worden escaped?
0
Berichten
2.950
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
In een session weet je zelf wat je zet, dus dat ligt aan de inhoud. Als jij een cijfertje in de session zet dan hoeft dat niet.
0
Berichten
3.074
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ruben schreef:
In een session weet je zelf wat je zet, dus dat ligt aan de inhoud. Als jij een cijfertje in de session zet dan hoeft dat niet.
Ok, bedankt Lennard. biggrin
toevoeging op 6 maart 2012, 161927:
Ow, je bent Ruben. emoNaja, leuk dat je eens langs komt yummie
0
Berichten
2.950
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
biggrin
0
Marv

Lid · Topicstarter

Berichten
3.092
Reputatie
1
Punten
0,21
Lid sinds
Laatst gezien
Nog een vraagje.

Is beveiligen met mysql_real_escape genoeg tegen injection? of kun je nog meer doen?
0
Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Efferinie schreef:
Nog een vraagje.

Is beveiligen met mysql_real_escape genoeg tegen injection? of kun je nog meer doen?
Hangt er van af wat je script is. Bij form moe je kijken of bv de mail klopt. Bij database query met posts of gets moet je injectoe tegen gaan en bij text output XXS injections.
0
Berichten
1.631
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Als een gebruiker een bericht in de database kan zetten bij bijvoorbeeld een forum of dergelijk. Kan hij dus ook erin zetten of gewoon een leuk berichtje. Als je dat vervolgens uit de database haalt krijg je een niet zo mooie melding. Daarom kan je:

htmlentities($query_die_er_voor_zorgt_dat_je_dat_berichtje_te_zien_krijgt);


gebruiken. Dit veranderd de: <,>,(,,), in html codes waardoor je dus i.p.v. die alert gewoon text krijgt.
0
Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Wouterp schreef:
Als een gebruiker een bericht in de database kan zetten bij bijvoorbeeld een forum of dergelijk. Kan hij dus ook erin zetten of gewoon een leuk berichtje. Als je dat vervolgens uit de database haalt krijg je een niet zo mooie melding. Daarom kan je:
htmlentities($query_die_er_voor_zorgt_dat_je_dat_berichtje_te_zien_krijgt);


gebruiken. Dit veranderd de: <,>,(,,), in html codes waardoor je dus i.p.v. die alert gewoon text krijgt.
Vriendje schreef:
Eerdere citaten tonen
Efferinie schreef:
Nog een vraagje.
Is beveiligen met mysql_real_escape genoeg tegen injection? of kun je nog meer doen?

Hangt er van af wat je script is. Bij form moe je kijken of bv de mail klopt. Bij database query met posts of gets moet je injectoe tegen gaan en bij text output XXS injections.
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren