php + $_POST Frage
Facetious 31.01.2005 - 09:51 744 13
Facetious
Addicted
|
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
|
mat
AdministratorLegends never die
|
nur value
|
Facetious
Addicted
|
gibts eine möglichkeit andere eigenschaften über php zu bekommen?
mfg Facetious
|
mat
AdministratorLegends never die
|
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.
|
watchout
Legendundead
|
gibts eine möglichkeit andere eigenschaften über php zu bekommen?
mfg Facetious Sicher geht das. Schreib doch einfach einen HTML-Parser...
|
moidaschl
Vollzeit-Hackler
|
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
|
PHaX
Little Overclocker
|
Ausserdem stellt die _GET Variante ein Sicherheitsrisiko dar, da jeder den Text ändern kann!
|
watchout
Legendundead
|
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.
|
moidaschl
Vollzeit-Hackler
|
Ausserdem stellt die _GET Variante ein Sicherheitsrisiko dar, da jeder den Text ändern kann! es gab vor einiger zeit einen thread wo genau so eine sicherheitslücke aufgezeigt wurde. imo eigentlich sollte jeder der sich halbwegs mit der materie beschäftigt im klaren sein, das einfach einmal von grund auf jeder input böse ist
|
PHaX
Little Overclocker
|
@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ß.
|
atrox
in fairy dust... I trust!
|
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.
|
watchout
Legendundead
|
@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ß. Also eigentlich hab ich Atrox' Post nicht mehr viel hinzuzufügen... Aber WTF? Wie kommst du jetzt auf ein Onlinebanking-System? Wenn 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... Aber, ich möchte sehen wie du deinen TAN-Brief auspackst wenn jemand hinter dir steht
|
PHaX
Little Overclocker
|
Wenn 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... Wenn ich die Wahl zwischen POST und GET habe nehme ich POST - das ist alles was ich sagen wollte. Können wir das Thema abhaken und uns wieder den wirklich wichtigen Dingen zuwenden
|
Rektal
Here to stay
|
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.
|