Input controle (hoe moet het niet)
Zoals je misschien wel weet is JavaScript op de meeste browsers met 2 klikken uit te schakelen. Dus controle met alleen JavaScript is uit den boze. De controle MOET dan ook altijd plaats vinden binnen PHP.
Wat ook vaak gebeurt is dat er formulieren 'gekloond' worden. Men slaat dan het formulier op de pc op, en past het formulier zo aan dat het nogsteeds 'gePOST' wordt naar de oorspronkelijke locatie. Op deze manier kunnen formuliervelden verwijder/toegevoegd worden, en/of 'verborgen velden' worden aangepast. Gevolg: Deze velden zijn onbetrouwbaar.
Een oplossing voor dit probleem dacht ik te vinden via de $_SERVER["HTTP_REFERER"] variabele. Deze variabele toont aan waar je vandaan komt. Deze wilde ik vergelijken met de URL adres van het formulier, zodat het uit te sluiten is dat het formulier gekloond is. Ik kwam er echter al snel achter dat door een textfield op te nemen in het formulier met de naam 'HTTP_REFERER', je deze waarde volledig naar eigen inzicht manupuleren. Daarnast blijkt dat niet elke browser deze 'HTTP_REFERER' ondersteunt. Dit zou je website onnodig minder compatible maken voor verschillende browsers.
Inhoudsopgave
- Waarom deze tutorial?
- Input controle (hoe moet het niet)
- Waar gaat het mis?
- Input controle (hoe moet het wel)
- Hoe kun je dit voorkomen?