Invoer/uitvoer discussie

Gestart doorKjeld16 reacties33 weergaven

17 berichten · pagina 1 van 2

Kjeld

Lid · Topicstarter

Berichten
6.201
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hey, omdat ik dit eigenlijk ook wel wilde weten, wat is de beste manier om je invoer en uitvoer te beveiligen?

Ik start dit topic aan de hand van een topic op een ander forum: http://www.tbforum.com/thread/135671-2.html

Leek me wel een leuk discussie-onderwerp, want iedereen heeft zijn/haar eigen argumenten om die bepaalde methode te gebruiken.

Op dat andere forum zeggen ze hetvolgende:

Quote:
Invoer -> mysql_real_escape_string() (het in de database zetten)
Uitvoer -> htmlentities() (het weergeven op de pagina)

Wat vinden jullie het beste/wat gebruiken jullie altijd en waarom?
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Hangt van je data af natuurlijk. biggrin
Wat ik doe is meestal mysql_real_escape_string(trim($data)) bij de invoer, en htmlspecialchars() bij de uitvoer, dan zit t wel goed lijkt me.

Speciale data (getalletjes, data, saldi, etc) krijgen natuurlijk speciale functies maar das logisch.
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Beide doen inderdaad.
Invoer doe ik sowieso met een mysql_real_escape_string() en evetueel andere bijkomende functies (zoals lennard zegt trim() kan bijvoorbeeld ook). En bij uitvoer doe ik htmlentitities() of htmlspecialchars().

Je kan nooit teveel beveiliging hebben (tenzij het je code in de weg gaat zitten natuurlijk).
0
Kjeld

Lid · Topicstarter

Berichten
6.201
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Wat is het verschil tussen htmlentities/htmlspecialchars?

En natuurlijk andere beveiligingen indien nodig, al weet ik niet wanneer ik wat moet gebruiken xD
Bestaat hier een overzicht voor ofzo?

Want het is toch wel fijn als je script gewoon veilig is natuurlijk.. ^^
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
htmlentities "” Convert all applicable characters to HTML entities
htmlspecialchars "” Convert special characters to HTML entities
0
Kjeld

Lid · Topicstarter

Berichten
6.201
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Maar waarom gebruik je dan 1 van de 2?

Hoe bepaal je welke je gebruikt?
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Gewoon wat jij zegt, rest is handig maar niet echt noodzakelijk voor je beveiliging zegmaar.

htmlentities() zet é en ç enzo ook om, htmlspecialchars() niet. Ik zei dat ik die laatste gebruik, maar gebruik die eerste zie ik. emo Wel in een eigen functie trouwens, zodat hij goed met mn karakterset werkt:
[COLOR= #0000BB]<?php[/COLOR]
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] entities[COLOR= #007700]([/COLOR][COLOR= #0000BB]$string[/COLOR][COLOR= #007700])
    {[/COLOR]
        
        [URL="http://www.php.net/return"]return[/URL] htmlentities[COLOR= #007700]([/COLOR][COLOR= #0000BB]$string[/COLOR][COLOR= #007700],[/COLOR] ENT_COMPAT[COLOR= #007700],[/COLOR] KARAKTERTYPE[COLOR= #007700]);
        
    }[/COLOR]


maar das meer luxe dan noodzaak.
0
Kjeld

Lid · Topicstarter

Berichten
6.201
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Nja, het is dus makkelijker om gewoon htmlspecialchars() te gebruiken? yummie
Of die zelfgemaakte van jou dan yummie
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Entities is beter, aangezien die alle characters omzet die entities hebben. Dus kom je nooit met het probleem van dat bepaalde characters niet worden weergegeven wink
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Ja, maar htmlentities() is handiger omdat je dan minder met karaktersetproblemen zet, en als je die karakterset ook nog es meegeeft als parameter heb je helemaal geen problemen meer.
Als ik htmlentities() gebruik ipv die eigen functie dan verdwijnen alle berichten hier op het forum waar gekke tekens (like é) in staan, heel irritant en vaag dus. emo
edit:
/eens met Rick dus biggrin
0
Kjeld

Lid · Topicstarter

Berichten
6.201
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Oké, als ik dan nog een karakterset meegeef werkt het helemaal top? biggrin
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Denk ik wel, hier wel. emo
Moet je alleen ook wel zorgen dat je html output en database dezelfde karakterset hebben. cry
0
Kjeld

Lid · Topicstarter

Berichten
6.201
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
En hoe kom ik daar achter? yummie
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
header(Content-Type: text/html; charset=utf-8);
op elke pagina, hoe ik het in de database voor elkaar heb gekregen weet ik zo niet, heeft me iig heel wat moeite gekost alles bij elkaar
0
Kjeld

Lid · Topicstarter

Berichten
6.201
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Als ik inlog op phpmyadmin staat er dit:

MySQL charset: UTF-8 Unicode (utf8)

Dus dat staat dan toch al goed? biggrin
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