"de grootste denkfout die je kunt maken is om zelf dingen aan te nemen die niet gezegd zijn of gespecificeerd."
"In plaats van te proberen iedereen af te zeiken zou je als programmeur gewoon aan ts moeten vragen wat ie wil bereiken en hem op basis daarvan advies geven."
Zijn vraag en voorbeeldcode geven genoeg suggesties om juist aan te nemen wat TS wilt bereiken. Dat zou overigens geen denkfout zijn maar een verkeerde aanname.
Ik reageer overigens duidelijk op de reactie die suggereert dat in zijn case mysql_real_escape_string() genoeg zou zijn terwijl dit niet zo is omdat TS duidelijk andere intenties heeft (lees: zie voorbeeldcode).
"Sterker nog... TS zijn code is 100% veilig (en hoogstwaarschijnlijk ook 100% fout trouwens) want zijn var kan op basis van zijn enkele regel slechts 2 waarden aannemen. En of je die in de db stopt of op je scherm gooit, maakt geen fluit uit."
Of zijn code wel/niet veilig is, is in mijn reacties niet relevant geweest want daar reageer ik helemaal niet op.
"Er zijn genoeg systemen (denk aan een willekeurig CMS) waarbij het toevoegen van html de normaalste zaak van de wereld is."
Opnieuw een "denkfout" ;-) Bij dergelijke systemen worden authenticatie systemen ingezet om juist te voorkomen dat door derden html kan worden ingevoegd.
Aanvullend bericht:
"Als je de string gaat filteren voor je hem in de database stopt raak je informatie kwijt. Besluit je later bijvoorbeeld dezelfde string terug te laten komen in een veilige output (textarea bijvoorbeeld) en hebt mogelijke XSS eruit gesloopt heb je het bericht kreupel gemaakt."
Er is niemand die aangeeft dat data bewerkt moet worden voordat deze weggeschreven wordt naar de database. Je zult er echter wel voor moeten zorgen dat de data zo correct mogelijk wordt opgeslagen in je database en dat doe je simpelweg door de data zo goed mogelijk te valideren en een zo goed mogelijke string af te dwingen. Want wat heb je immers aan een straatnaam zonder huisnummer of een postcode zonder letters? Doordat je goed valideert voorkom je in veel gevallen al dat je data moet bewerken tijdens het uitlezen (althans blijkbaar heb ik dat alleen).
In tegendeel is User generated content een ander verhaal. Zie reactie box sitedeals bijvoorbeeld. De originele data wordt altijd opgeslagen (uiteraard) maar bewerkt tijdens het uitlezen en daar wordt html uitvoer voorkomen om dergelijke XSS lacks te voorkomen.
We hebben het over 2 verschillende dingen.
- code veilig maken
-
11-05-2012, 14:44 #16
- Berichten
- 1.484
- Lid sinds
- 15 Jaar
Re: code veilig maken
Laatst aangepast door Arek van Schaijk : 11-05-2012 om 15:22 Reden: Automatisch samengevoegd.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic