URL: https://www.overclockers.at/coding-stuff/php_post_frage_135709/page_1 - zur Vollversion wechseln!
Hi Leute!
Was genau wird in einer $_POST Variable gespeichert?
nur der Value? oder auch andere eigenschaften wie zB label
Bsp: Kann ich bei einer geposteten Select box $_POST['selfoo'], welche den wert "xyz", aber die Beschriftung "Bla" hat, das "Bla" rausbekommen?
mfg und thx Facetious
nur value
gibts eine möglichkeit andere eigenschaften über php zu bekommen?
mfg Facetious
nein, aber du kannst per <input type=hidden.. die labels mit einer gewissen namenskonvention versehen und dann automatisiert aus dem post array holen. klingt glaub ich mühsamer als es ist.
Sicher geht das. Schreib doch einfach einen HTML-Parser...Zitat von Facetiousgibts eine möglichkeit andere eigenschaften über php zu bekommen?
mfg Facetious
du kannst den value zerst in einer variable mitspeichern und entweder per hidden field oder mittels Adressleiste ($_GET) übertragen.
die $_GET variante is aber allerdings nur bei kurzen texten anzuraten 
Ausserdem stellt die _GET Variante ein Sicherheitsrisiko dar, da jeder den Text ändern kann!
Red' kan Schwachfug. GET hat das gleiche Risiko, wie POST. Die Daten kommen alle vom User, wer sich hier _irgendwo_ eine Blöße gibt ist selbst schuld.Zitat von PHaXAusserdem stellt die _GET Variante ein Sicherheitsrisiko dar, da jeder den Text ändern kann!
Zitat von PHaXAusserdem stellt die _GET Variante ein Sicherheitsrisiko dar, da jeder den Text ändern kann!

@watchout: Aber erklär mal jemand, wie er den Referer ändert um die POST Inhalte einzuschmuggeln. Einen GET Request in der Addressleiste zu ändern geht um Welten einfacher.
Das als Schwachfug zu bezeichnen ist übertrieben. Aber wenn du dein Online-Banking System mit GET machen möchtest - viel Spaß.
von allen parameter-fake-möglichkeiten ist GET vermutlich am einfachsten (aber ein ändern der adresszeile schickt keinen reffer mit)
hingegen ist das faken von post-parameter (je nach umständen) mit/ohne refferer nicht signifikant schwerer als GET mit refferer. (zb mit javascript [*1], aber es gibt ganz viele möglichkeiten)
daher ist die policy "jede eingabe ist böse" imho die einzig richtige.
*1) also wenn man sich nicht mit netcat oder solchen tools spielen will (und einem ein lokal abgespeichertes formular wegen des reffers nicht genügt), der kann zb über javascript:document.form[...].feldname.value='xyz'; in der adresszeile on the fly werte ändern.
man kann sich natürlich auch über javascript:document.getElementById(...).innerHTML='<form action=post>....' auch ein ganz eigenes formular auf jeder beliebigen seite nachbauen und abschicken.
über document.cookies lassen sich diese auch super auslesen und manipulieren.
man braucht also keien packetsniffer oder -factories um das alles zu machen.
Also eigentlich hab ich Atrox' Post nicht mehr viel hinzuzufügen...Zitat von PHaX@watchout: Aber erklär mal jemand, wie er den Referer ändert um die POST Inhalte einzuschmuggeln. Einen GET Request in der Addressleiste zu ändern geht um Welten einfacher.
Das als Schwachfug zu bezeichnen ist übertrieben. Aber wenn du dein Online-Banking System mit GET machen möchtest - viel Spaß.

Zitat von watchoutWenn du auf das in der Adressleiste sichtbare passwort anspielst - sicher, das ist nicht die feine Art, und ich hab das auch nie behauptet, dass ich das so machen würde...

Es gibt gute Gruende auch nicht POST zu nehmen. Z.b. bei Suchabfragen auf einer Webseite, damit diese gebookmarkt werden kann. Jedes fuer seinen Zweck halt.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026