$_SERVER['REQUEST_METHOD'], altijd 1 method?
Op php.net vond ik dit grappige scriptje dat op basis van de request method de GET of POST variabelen in een eigen variabele stopt:
Op deze manier heb je al je variabelen altijd in dezelfde variabele (in dit geval $the_request) zitten.
Nu lijkt mij dit eigenlijk ook wel handig om te doen... maar ik zit me af te vragen of het mogelijk is dat je een POST en GET method tegelijk hebt. Bijvoorbeeld als je action in een formulier een GET parameter bevat: <form action="http://www.mijnsite.nl/inloggen?formulier=inloggen" method="post">
Hier heb je zowel een POST als GET method lijkt mij, of wordt die GET hier genegeerd?
(ik zag dat de $_SERVER['REQUEST_METHOD'] ook HEAD of PUT kan zijn. Iemand een idee wat dat inhoudt?)
Code (php)
Op deze manier heb je al je variabelen altijd in dezelfde variabele (in dit geval $the_request) zitten.
Nu lijkt mij dit eigenlijk ook wel handig om te doen... maar ik zit me af te vragen of het mogelijk is dat je een POST en GET method tegelijk hebt. Bijvoorbeeld als je action in een formulier een GET parameter bevat: <form action="http://www.mijnsite.nl/inloggen?formulier=inloggen" method="post">
Hier heb je zowel een POST als GET method lijkt mij, of wordt die GET hier genegeerd?
(ik zag dat de $_SERVER['REQUEST_METHOD'] ook HEAD of PUT kan zijn. Iemand een idee wat dat inhoudt?)
Nee, die POST actie wordt uitgevoerd op : http://www.mijnsite.nl/inloggen?formulier=inloggen ... je hebt hem hier zelf opgegeven.. deze url wordt tevens ook niet automatisch veranderd ahv de invoer door de gebruiker.
Als je hier method=get van maakt.. krijg je &veldnaam=veldwaarde.
Als je hier method=get van maakt.. krijg je &veldnaam=veldwaarde.
Hoe bedoel je precies Jaron? Dit is dus een POST request method?
Maar wat gebeurt er nu dan met "formulier=inloggen"? Waar blijft dat?
Maar wat gebeurt er nu dan met "formulier=inloggen"? Waar blijft dat?
Wat jij doet, bestaat al:
$_REQUEST
Dat haalt zijn informatie uit $_GET, $_POST of $_COOKIE.
Mij lijkt het vooral niet interessant om dit te doen.
Als ik een $_REQUEST krijg, zou ik direct willen weten waar de informatie van komt.
POST en GET gebruik je namelijk om andere redenen.
$_REQUEST
Dat haalt zijn informatie uit $_GET, $_POST of $_COOKIE.
Mij lijkt het vooral niet interessant om dit te doen.
Als ik een $_REQUEST krijg, zou ik direct willen weten waar de informatie van komt.
POST en GET gebruik je namelijk om andere redenen.
Ik wil die $_REQUEST uit veiligheidsoverwegingen juist niet gebruiken, omdat je dan niet weet waar de informatie vandaan komt.
"POST en GET gebruik je namelijk om andere redenen."
Wat bedoel je hiermee?
(even ander vraagje, als ik een variabele unset die niet bestaat kan dit dan kwaad?)
"POST en GET gebruik je namelijk om andere redenen."
Wat bedoel je hiermee?
(even ander vraagje, als ik een variabele unset die niet bestaat kan dit dan kwaad?)
Er bestaat dan gewoon een variabele $__GET['formulier']
Een Post request kan gewoon Get variabelen hebben (andersom niet)
Een Post request kan gewoon Get variabelen hebben (andersom niet)
Ah oke, maar deze switch zou dan dus helemaal niet werken?
Want dat worden de POST variabelen in $the_request gestopt, maar de GET variabelen niet. Script klopt dus niet?
Code (php)
Want dat worden de POST variabelen in $the_request gestopt, maar de GET variabelen niet. Script klopt dus niet?
Mag ik toch eens vragen waar dit zinnig zou kunnen zijn?
De praktische bezwaren die je zelf aanhaalt, lijken me goede redenen om dit niet te doen.
De praktische bezwaren die je zelf aanhaalt, lijken me goede redenen om dit niet te doen.
Nou het idee was om altijd mijn variabelen op te kunnen halen via een eigen variabele... als het een POST is stop je de POST variabelen in die eigen variabele en als het een GET is dan stop je er de GET variabelen in. Via bijvoorbeeld $get heb je dan altijd de juiste variabelen. Maar als je dus binnen 1 request zowel POST als GET waardes kunt hebben dan gaat die vlieger natuurlijk niet op. Snap je wat ik bedoel?
PS zijn er meer mensen die ineens geen mail meer ontvangen van PHPhulp? Of ligt mijn mailprovider te kloten?
(even ander vraagje, als ik een variabele unset die niet bestaat kan dit dan kwaad?)
PS zijn er meer mensen die ineens geen mail meer ontvangen van PHPhulp? Of ligt mijn mailprovider te kloten?
(even ander vraagje, als ik een variabele unset die niet bestaat kan dit dan kwaad?)
Ozzie PHP op 10/01/2011 17:43:30:
(even ander vraagje, als ik een variabele unset die niet bestaat kan dit dan kwaad?)
Ja, je krijgt eerst een bekeuring en daarna doet je muis het niet meer.
Ik snap niet waarom je niet gewoon $_POST en $_GET gebruikt, lijkt me toch logischer,
over de email's van PHPHulp,
had ik ook opeens, bleek dat het naar spam werd gestuurd,
heb dus maar even een filter erop gezet dat hij dat dus niet meer doet :P
en over unset,
voor zover ik weet kan dit geen kwaad nee.
over de email's van PHPHulp,
had ik ook opeens, bleek dat het naar spam werd gestuurd,
heb dus maar even een filter erop gezet dat hij dat dus niet meer doet :P
en over unset,
voor zover ik weet kan dit geen kwaad nee.
- SanThe - op 10/01/2011 17:50:24:
Gotver... vandaar dat mn muis het telkens niet meer doet!!!Ja, je krijgt eerst een bekeuring en daarna doet je muis het niet meer.
Ik bedoelde natuurlijk in de vorm van warnings of iets dergelijks. Omdat je iets unset wat niet bestaat, snappie?
"Ik snap niet waarom je niet gewoon $_POST en $_GET gebruikt, lijkt me toch logischer"
Mja, dat zal ik dan maar doen... het leek me wel geinig om dat via die switch te doen, maar als dat niet werkt dan houdt het op.
"over de email's van PHPHulp,
had ik ook opeens, bleek dat het naar spam werd gestuurd,
heb dus maar even een filter erop gezet dat hij dat dus niet meer doet :P"
Bij mij komt er niks meer aan, ook niet in de spam :-|
Ozzie PHP op 10/01/2011 18:01:11:
Ik bedoelde natuurlijk in de vorm van warnings of iets dergelijks. Omdat je iets unset wat niet bestaat, snappie?
Als je iets unset wat niet bestaat dan is het logisch dat je een notice krijgt lijkt mij.
naja zeg... dat was dus mijn vraag, en eerder zeg jij dat er niks aan de hand is :|
Ozzie PHP op 10/01/2011 18:20:40:
naja zeg... dat was dus mijn vraag, en eerder zeg jij dat er niks aan de hand is :|
Waar heb ik dat gezegd?
je kunt toch altijd gewoon:
of
of
Ja, dat kan inderdaad... nu wil ik die $_REQUEST array unsetten... maar bestaat die altijd?
$_REQUEST is gewoon een predefined variabele, die kun je gewoon unsetten als je dat wilt, maar waarom zou je ;)
Uit veiligheid. Stel ik roep $_REQUEST['id'] aan, en ik heb in zowel m'n COOKIE, POST als GET een id staan... da's niet handig. Vandaar dat ik 'm wil unsetten zodat ik altijd gericht (via POST, COOKIE of GET) een waarde moet opvragen.
Maar de vraag is nu dus of ik wel of niet moet checken of ie bestaat? Of zeg jij dat ik m uberhaupt niet moet unsetten?
Maar de vraag is nu dus of ik wel of niet moet checken of ie bestaat? Of zeg jij dat ik m uberhaupt niet moet unsetten?
het heeft geen voor of nadelen als je $_REQUEST unset,
het maakt niet uit,
$_COOKIE['id'] blijft z'n eigen waarde houden,
idem voor $_POST en $_GET
volgensmij staat de $_REQUEST variabele in deze volgorde: EGPCS
wat staat voor Environment, Get, Post, Cookie, en Server,
dus het kan heel goed voorkomen dat als je $_REQUEST['id'] gebruikt,
dat dat dan de waarde van $_COOKIE['id'] returnt, terwijl je die van $_GET wou hebben,
daarom kun je hier niet op vertrouwen,
stel je voor dat iemand het lukt om een cookie aan te maken, met weet ik veel wat,
Javascript injection oid...
dit kan slecht aflopen ;)
maar het is niet zo dat omdat $_REQUEST onveilig is, dat de rest ook gelijk onveilig is, dus je hoeft niet persee $_REQUEST te unsetten.
Please, correct me if i'm wrong...
het maakt niet uit,
$_COOKIE['id'] blijft z'n eigen waarde houden,
idem voor $_POST en $_GET
volgensmij staat de $_REQUEST variabele in deze volgorde: EGPCS
wat staat voor Environment, Get, Post, Cookie, en Server,
dus het kan heel goed voorkomen dat als je $_REQUEST['id'] gebruikt,
dat dat dan de waarde van $_COOKIE['id'] returnt, terwijl je die van $_GET wou hebben,
daarom kun je hier niet op vertrouwen,
stel je voor dat iemand het lukt om een cookie aan te maken, met weet ik veel wat,
Javascript injection oid...
dit kan slecht aflopen ;)
maar het is niet zo dat omdat $_REQUEST onveilig is, dat de rest ook gelijk onveilig is, dus je hoeft niet persee $_REQUEST te unsetten.
Please, correct me if i'm wrong...
Maar wordt $_REQUEST wel ALTIJD geset? Kan ik zeggen unset($_REQUEST) of moet ik zeggen if (isset($_REQUEST)) unset($_REQUEST)?




