Problem bei Übertragung mit GET

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Problem bei Übertragung mit GET

Postby hawkmaster » 22. June 2006 14:15

Hallo
bin auch ein Problem gestossen nachdem ich auf den neuesten XAMPP mit APache 2.2.2 und PHP 5.1.4 gewechselt habe.
In einem Script übertrage ich eine Variable per GET
Name=hu+5HPSaRWZKa62ONP2ycA==

Auf dem Webserver wird das Zeichen "+" aber nicht korrekt übernommen

In meiner alten PHP Und Apache Version gab es aber keine Probleme damit

Welche Konfig Einstellung oder Funktion könnte die beeinflussen?

vielen Dank
Gruss
hawk
hawkmaster
 
Posts: 94
Joined: 22. January 2004 12:33
Location: Stuttgart

Postby Wiedmann » 22. June 2006 14:19

Auf dem Webserver wird das Zeichen "+" aber nicht korrekt übernommen

Inwiefern?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Es wird als Leerzeichen angezeigt

Postby hawkmaster » 22. June 2006 14:39

Hallo Wiedman
danke dir für deine Hilfe
bin gerade ziemlich fertig weil ich das erst jetzt entdeckt habe und ich die Scripte einem Kollegen geben habe.
Tja, also der String den ich per Get als
name=PWD=hu+5HPSaRWZKa62ONP2ycA==

wird mir im Browser dann als
PWD=hu 5HPSaRWZKa62ONP2ycA==

angezeigt
Also das + wird zu einem Leerzeichen??
Habe schon mal meine alte php.ini mit der neuen verglichen aber die magic_quotes Einstellungen sind gleich.


Gruss
hawk
hawkmaster
 
Posts: 94
Joined: 22. January 2004 12:33
Location: Stuttgart

Postby Wiedmann » 22. June 2006 18:28

Tja, also der String den ich per Get als
name=PWD=hu+5HPSaRWZKa62ONP2ycA==

Ich rate jetzt mal, dass das ganze ein Link (a href) ist, und das Fette von oben 1:1 der QueryString ist?

(Oder anders gefragt, wie kommt es genau zu dem GET-Request?)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Aufruf

Postby hawkmaster » 22. June 2006 18:48

Hallo Wiedmann,
ich danke dir wirklich, denn ich bin total ratlos warum das mit der neuen Version nicht mehr geht. Und das schlimme ist das ich bis morgen eine Lösung brauche.
Also das ganze
http://127.0.0.1/test/job/start.php?USE ... 2ONP2ycA==
steht in einer Ini Datei. Ein kleines Programm ruft dann den Browser mit dieser URL auf.
Das verrückte ist:
Wenn ich die URL kopiere in ein Browser Fenster und in der start.php steht blos drin
$USER = $_GET['USER'];
$PWD = $_GET['PWD'];
echo "Der user ist $USER und das PWD ist " . $PWD . "<br>";
die();

dann wird mir eben das Passwort ohne dem "+" Zeichen angezeigt
hu 5HPSaRWZKa62ONP2ycA==

Wenn ich sogar das Passwort urlencode kodiere und dann ausgebe, steht aus was ganz anderes drin.
Das muss doch irgend etwas mit dem Apache oder PHP zu tun haben.
In meiner alten Version war das nicht

Bin wirklich für jeden Tipp dankbar
Gruss
hawk
hawkmaster
 
Posts: 94
Joined: 22. January 2004 12:33
Location: Stuttgart

base64 Schuld??

Postby hawkmaster » 22. June 2006 19:29

Hallo,
jetzt bin ich ein bischen weiter.
Es ist nicht wie ich dachte das die URL falsch übermittelt wird.
Im Code habe ich folgendes nachvollziehen können.

echo "<br>Zeile 258 direkt vor base64: das Passwort ist " . $PWD . "<br>";
$PWD = base64_decode($PWD);
echo "else zweig zeile 257 das Passwort ist " .$PWD;

Das erste echo in zeile 258 zeigt mir das übertragene Passwort noch an.
Beim zweiten Echo nach base64 ist es leer. Also $PWD zeigt nichts an.

Mit der alten Apache 2.0.50 und PHP 5.04 ist das aber korrekt.
Also muss irgendwie ein Problem an der Base64_decode Funktion liegen?

Hat irgend jemand eine Idee?

bin wirklich mit dem Latein am Ende

Gruss
hawk
hawkmaster
 
Posts: 94
Joined: 22. January 2004 12:33
Location: Stuttgart

Postby sari42 » 23. June 2006 13:40

das ist eigentlich schon immer so gewesen
wenn man in
Code: Select all
<?PHP
$USER = $_GET['USER'];
$PWD = $_GET['PWD'];
echo "Der user ist $USER und das PWD ist " . $PWD . "<br>";
echo"<form>
user:<input name='USER'><br>
pass:<input type='password' name='PWD'>
<input type='submit'>";
?>

irgendwas mit leerzeichen eingibt, sieht man in der uri +
sonst müsste man das "hu" in 64encode einbeziehen oder den string vorher urlencoden (oder so ähnlich) : start.php?USER=guest&PWD=hu%2B5HPSaRWZKa62ONP2ycA==
(+ -> %2B)
sari42
 
Posts: 800
Joined: 27. November 2005 18:28


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 25 guests