PHP $_POST nachträglich ändern

Jehova1

Jehova1

Routinier
Hallo,
wenn ich per $_POST["variablenname"] einen Wert erhalten habe kann ich auf meinem xampp die variable so neu bestimmen:
$_POST["variablenname"] = "Neuer Wert";
also den eigentlich eingetroffenen parameter nachträglich verändern. Auf dem xampp läuft das alles wunderbar, bloß auf funpic (Apache?) weigert das php sich einfach die variablen nachträglich zu verändern. Warum denn das? (welche option verbietet das und warum - das is ja nich irgendwie ein sicherheitsrisiko oder so!?) Kan man die Änderung trotzdem erzwingen?
Die Umgehung der ganzen wäre theoretisch möglich is aber ne menge drecksarbeit
 
Eine Lösung deines Problems kenne ich nicht,
noch das man PHP dazu bringen kann das zu unterbinden.

Eins ist aber klar. Die super globalen: $_SERVER, $_REQUEST, $_POST, $_GET, $_FILES etc.. zu »manipulieren« ist eine ganz unschöne Sache.

Um aber rau zu finden was dein wirkliches Problem ist, würde die Fehlermeldung ungemein helfen.

Grüße
paefchen
 
wie waere es damit:
PHP:
$ARRAY = $_POST;
und dann mit search&replace alle $_POST's zu $ARRAYs machen
lso den eigentlich eingetroffenen parameter nachträglich verändern. Auf dem xampp läuft das alles wunderbar, bloß auf funpic (Apache?) weigert das php sich einfach die variablen nachträglich zu verändern. Warum denn das? (welche option verbietet das und warum - das is ja nich irgendwie ein sicherheitsrisiko oder so!?) Kan man die Änderung trotzdem erzwingen?
xampp ist auch ein apache nur in nem packet mit (APACHE) MYSQL PHP PERL(AMPP) und das X steht fuer L - Linux(LAMPP) oder windows(WAMPP), so is das :)
Nur um das mal richtigzustellen
 
Zuletzt bearbeitet:
Also Variablen in $_POST manipulieren dürfte grob geraten nur bei RegisterGlobals on gehen ( Grob geraten wie gesagt) was soviel ich noch in Erinnerung habe in Xampp wohl der Fall ist.

Scripte die nur mit RegisterGlobals on gehen sind keine Sicherheitslücke sondern eher ein Sicherheitsscheunentor.

Wenn du Daten in nem SuperGlobale Array ändern willst dann benutze die Session. http://php.net/session_start

Die Umgehung der ganzen wäre theoretisch möglich is aber ne menge drecksarbeit

Öhm, nun ja, mit der Session ist das Maximal 1 Befehl mehr also nix von wegen Dreckarbeit. Und was auch immer du vorhast die sauberste Lösung.
 
Zuletzt bearbeitet:
$_POST geht immer, und ob register_globals = on oder off spielt dabei keine Rolle.

http://de.php.net/variables.predefined schrieb:
$_POST

Variablen, die dem Skript über HTTP POST geliefert werden. Entspricht dem alten $HTTP_POST_VARS-Array, das zwar noch zur Verfügung steht, aber abzulehnen ist.

$_POST ist also DIE Methode, um mit register_globals = on seine ge'POST'eten Daten zu erreichen ;-).
 
slasher schrieb:
$_POST geht immer, und ob register_globals = on oder off spielt dabei keine Rolle.

Es ging mir mehr darum wann man die Werte vielleicht manipulieren kann. Nicht wann sie vorhanden sind.

slasher schrieb:
$_POST ist also DIE Methode, um mit register_globals = on seine ge'POST'eten Daten zu erreichen ;-).

$_POST ist immer die Methode mit der mal auf Postdaten zugreifen sollte auser vielleicht noch $_REQUEST.
Aber das bearbeiten der Postdaten sollte man dann nichtmehr in $_POST oder $_REQUEST durchführen sondern in lokalen Variablen oder in ner Session wenns global sein soll.

Und register_globals sollte immer deaktiviert sein.

Hammers nu damit?
 
Jo, vielen dank, hab die session genommen und es rennt :D
 
Zurück
Oben