Archief - PHP: Verschil tss GET & POST

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Heten Tsjeef

Legacy Member
kan iemand mij duidelijkin het nederlands uitleggen wat het verschil tussen de methoden get en post zijn?

killgore

Legacy Member
google kan dat idd

get -> zet alles in je url
post -> een ander protocol dat voor de gebruiker achter de schermen werkt & niet zichtbaar is in de site-info zelf (tot hij/zij een page refresht waar post-data naar gestuurd is)

Als je niet zelf een browser wilt schrijven of zo is dat meer als genoeg uitleg :p.

Strangler

Legacy Member
Het beste bij formulieren e.d. is de post methode.
Anders komt alles in je adresbalk te staan, en zit je soms met een url van 2000 karakters lang.
De post zet alles achter de schermen, veel handiger.

EyeBallz

Legacy Member
als ge uw gegevens doorstuurt via get (alles in de url dus) kan de gebruiker aanpassingen maken in de url.
neem nu dat ge de gebruiker zijn leeftijd vraagt, en die wordt doorgestuurd naar de server via de url, dan kan de gebruiker vanalle aanpassingen gaan maken in die url, waardoor ge dus verkeerde data bekomt.
bij post hebt ge dat probleem niet

killgore

Legacy Member
EyeBallz zei:
als ge uw gegevens doorstuurt via get (alles in de url dus) kan de gebruiker aanpassingen maken in de url.
neem nu dat ge de gebruiker zijn leeftijd vraagt, en die wordt doorgestuurd naar de server via de url, dan kan de gebruiker vanalle aanpassingen gaan maken in die url, waardoor ge dus verkeerde data bekomt.
bij post hebt ge dat probleem niet
why not?

Tis natuurlijk niet voor de modale gebruiker, maar iemand die kan programmeren kan zich een "pseudo" browser maken die verkeerde post-vars insteekt ze.

Als jij uw code goed maakt he, dan zou je geen verkeerde info MOGEN verwerken, via gelijk welke global dit binnenkomt.

Daarbij: wat doet het er toe of een gebruiker zijn form verkeerd invult of dan de info verkeerd invuld :s.

dJeez

Legacy Member
EyeBallz zei:
bij post hebt ge dat probleem niet
Bij POST heb je dat probleem ook, je kan nl. steeds een absolute URL doorgeven waarnaar gepost moet worden èn desnoods ook een valse referrer opgeven. Bij GET is er trouwens een restrictie wat de lengte van de URL betreft (maw ook aantal parameters is beperkt - afhankelijk van browser/OS), iets dat niet echt speelt bij POST (hoewel daar ook begrenzingen aan zijn uiteraard, doch niet in dezelfde mate).

Tyfius

Legacy Member
Ge kunt uw POST waarde ook invullen met een GET waarde, daar heb ik serieus wat mee gefoefeld een tijdje terug om externe sites aan te spreken :)

Radiance

Legacy Member
Tyfius zei:
Ge kunt uw POST waarde ook invullen met een GET waarde, daar heb ik serieus wat mee gefoefeld een tijdje terug om externe sites aan te spreken :)
Als je $_REQUEST gebruikt ipv de collecties $_GET & $_POST wel ja, iets dat gepost is vind je niet terug in $_GET hoor.

Naast de beperkte lengte kan $_GET soms ook problemen maken van vreemde karakters.
In grote lijn gebruik je GET liefst voor dataweergave & POST voor datainput, dat laat de gebruiker ook toe om URLs door te geven die door de 2e partij correct te bekijken zijn, maar toch geen private gegevens bevatten.

Tyfius

Legacy Member
Neen, ik bedoel dat post een get kan uitlezen. Omgekeerd dat zou ik niet meteen weten.

sneax

Legacy Member
Met GET wordt de inhoud doorgestuurd naar de volgende pagina via de url, bv:
form.php?name=thomas&age=14&area=belgium

zou dan de url zijn als in een forum het input field met name 'name' ingevuld is met 'thomas', het field met als name 'age' ingevuld als 14 etc...

bij POST echter wordt de data bepaald in de headers van het http request, aangezien http gewoon text is in een bepaald formaat gegoten, is het zeer eenvoudig om een http request te versturen waar ge whatever ge wilt in de headers zet

daarom dat variable-checking ALTIJD serverside moet gebeuren en NOOIT
enkel met javascript, aangezien dat eenvoudig wordt omzeild

GET zou eigenlijk ENKEL mogen gebruikt worden indien het voor de pagina essentieel is dat de info die nodig is om de pagina te tonen, in de URL steekt (zodat ge er links kunt naar maken)
bv:
showpage.php?id=3
maar ook bv. bij google, waar het searchquery in de url wordt gestoken, zodat ge kunt linken naar een pagina met zoekresultaten
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan