Andreas Korthaus: Fehler bei Datenübertragung

Hallo!

Ich habe ein sehr seltsames Problem. Und zwar übertrage ich Daten mit Hilfe von CURL von eienm Server auf den anderen. Ich habe einen String in PHP, den bearbeite ich zuerst mit gzcompress() und danach mit urlencode() übergeb den an CURL und CURL macht daraus einen POST-Request und schickt den String an den 2. Server. Da das Dekodieren auf dem Server mit gzuncompress() aber nicht richtig funkioniert(data error)  habe ich mal folgendes probiert:

ich habe den String auf dem 2. Server erst gar nicht mit gzuncompress() bearbeitet, sondern stattdessen mal mit urlencode, damit den mal direkt  mit dem String, der ursprünglich gesendet wurde vergleichen kann. Was ich feststellen mußte, die ersten Zeichen sind zwar alle gleich, aber weiter hinten kommen mit der Zeit immer mehr Unterschiede in den beiden Strings. Wie kann das sein?

Den Vergleich kann man sich hier ansehen: http://knet-systems.de/encode.htm

Das 1. System besteht aus Win2K, Apache2, PHP4.2(Foxserv) und das 2. Linux, Apache 1.3, PHP4.1.2

Des weiteren kann ich den "blanken" gzencode String auf dem 2. Server gar nicht ausgeben, nach einigen 100 Zeichen bleibt die Ausgabe mitten im String stehen, aber übertragen wurden die Daten.

Hat jemand nur ne ganz grobe Idee in welcher Richtung ich mal nach nem Fehler gucken sollte?

Viele Grüße
Andreas

  1. Hi,

    Den Vergleich kann man sich hier ansehen: http://knet-systems.de/encode.htm

    Theorie: Jedes Nullbyte (%00) wurde durch "\0" (%5C und 0) ersetzt. Warum das passiert ist, kann ich Dir allerdings auch nicht sagen; zumal ich nicht genau weiß, welches System für welche Kodierung verantwortlich ist.

    Cheatah

    1. Hi,

      Den Vergleich kann man sich hier ansehen: http://knet-systems.de/encode.htm

      Theorie: Jedes Nullbyte (%00) wurde durch "\0" (%5C und 0) ersetzt. Warum das passiert ist, kann ich Dir allerdings auch nicht sagen; zumal ich nicht genau weiß, welches System für welche Kodierung verantwortlich ist.

      Hallo!
      Kann es sein das der Apache beim empfangen der Daten "Mist" baut? Denn die gesendetetn Daten sind noch korrekt(per sniffer kontrolliert), denn da steht:

      0005  53 54 20 2F 65 6E 76 2E 70 68 70 20 48 54 54 50    ST /env.php HTTP
      0006  2F 31 2E 31 0D 0A 55 73 65 72 2D 41 67 65 6E 74    /1.1..User-Agent
      0007  3A 20 63 75 72 6C 2F 37 2E 39 2E 38 20 28 77 69    : curl/7.9.8 (wi
      0008  6E 33 32 29 20 6C 69 62 63 75 72 6C 20 37 2E 39    n32) libcurl 7.9
      0009  2E 38 20 28 4F 70 65 6E 53 53 4C 20 30 2E 39 2E    .8 (OpenSSL 0.9.
      000A  36 64 29 0D 0A 48 6F 73 74 3A 20 77 77 77 2E 6B    6d)..Host: www.k
      000B  6E 65 74 2D 73 79 73 74 65 6D 73 2E 64 65 0D 0A    net-systems.de..
      000C  50 72 61 67 6D 61 3A 20 6E 6F 2D 63 61 63 68 65    Pragma: no-cache
      000D  0D 0A 41 63 63 65 70 74 3A 20 69 6D 61 67 65 2F    ..Accept: image/
      000E  67 69 66 2C 20 69 6D 61 67 65 2F 78 2D 78 62 69    gif, image/x-xbi
      000F  74 6D 61 70 2C 20 69 6D 61 67 65 2F 6A 70 65 67    tmap, image/jpeg
      0010  2C 20 69 6D 61 67 65 2F 70 6A 70 65 67 2C 20 2A    , image/pjpeg, *
      0011  2F 2A 0D 0A 43 6F 6E 74 65 6E 74 2D 4C 65 6E 67    /*..Content-Leng
      0012  74 68 3A 20 33 34 39 34 34 0D 0A 43 6F 6E 74 65    th: 34944..Conte
      0013  6E 74 2D 54 79 70 65 3A 20 61 70 70 6C 69 63 61    nt-Type: applica
      0014  74 69 6F 6E 2F 78 2D 77 77 77 2D 66 6F 72 6D 2D    tion/x-www-form-
      0015  75 72 6C 65 6E 63 6F 64 65 64 0D 0A 0D 0A 63 6C    urlencoded....cl
      0016  69 65 6E 74 64 61 74 61 3D 78 25 39 43 25 45 44    ientdata=x%9C%ED
      0017  25 35 44 25 35 42 25 39 33 25 44 42 36 25 39 36    %5D%5B%93%DB6%96
      0018  25 37 45 25 39 46 5F 25 38 31 25 43 41 54 25 38    %7E%9F_%81%CAT%8
      0019  44 67 6A 25 39 34 25 35 45 25 39 32 25 45 30 25    Dgj%94%5E%92%E0%
      001A  44 35 25 41 45 25 33 43 25 42 34 25 44 42 25 38    D5%AE%3C%B4%DB%8
      001B  45 25 39 33 25 38 44 25 45 44 78 25 44 44 25 31    E%93%8D%EDx%DD%1
      001C  45 25 41 37 25 32 41 25 45 35 25 41 41 25 31 34    E%A7%2A%E5%AA%14
      001D  25 32 35 41 25 31 32 25 44 33 25 31 34 25 44 39    %25A%12%D3%14%D9
      001E  25 45 31 25 43 35 25 35 45 25 46 37 25 42 46 25    %E1%C5%5E%F7%BF%
      001F  44 44 25 32 41 25 42 46 25 43 45 25 45 42 25 33    DD%2A%BF%CE%EB%3
      0020  43 25 45 35 61 25 30 46 25 34 30 25 38 39 25 30    C%E5a%0F%40%89%0
      0021  34 25 34 30 74 25 38 42 25 30 32 25 44 30 25 39    4%40t%8B%02%D0%9
      0022  37 25 43 43 25 45 45 54 25 43 36 25 39 36 45 25    7%CC%EET%C6%96E%
      0023  46 32 25 30 38 25 43 34 25 46 39 70 70 25 45 45    F2%08%C4%F9pp%EE
      0024  25 46 38 25 44 33 25 46 37 25 41 46 25 43 46 25    %F8%D3%F7%AF%CF%
      0025  39 46 25 42 46 25 37 44 25 38 37 25 42 45 25 37    9F%BF%7D%87%BE%7
      0026  46 25 46 44 25 45 45 47 54 25 46 46 52 25 43 45    F%FD%EEGT%FFR%CE
      0027  25 37 46 25 32 35 25 31 37 25 30 44 41 25 37 46    %7F%25%17%0DA%7F
      0028  25 33 44 2D 25 45 36 25 42 46 25 42 43 6E 25 42    %3D-%E6%BF%BCn%B
      0029  37 25 35 42 52 25 43 44 25 43 45 25 39 42 25 32    7%5BR%CD%CE%9B%2
      002A  41 25 41 44 6B 32 25 46 42 2E 6D 25 45 42 25 41    A%ADk2%FB.m%EB%A
      002B  32 25 39 41 25 42 44 79 25 46 39 25 46 33 25 45    2%9A%BDy%F9%F3%E
      002C  43 25 43 37 25 41 41 25 39 39 25 46 44 54 6E 25    C%C7%AA%99%FDTn%
      002D  38 41 55 25 39 45 25 39 32 25 43 35 25 38 36 25    8AU%9E%92%C5%86%
      002E  43 43 25 35 45 54 6D 25 42 31 25 41 43 25 39 42    CC%5ETm%B1%AC%9B
      002F  25 39 36 25 32 43 2E 66 25 45 46 48 25 44 35 25    %96%2C.f%EFH%D5%
      0030  44 44 25 46 46 34 6D 25 46 37 25 44 37 25 45 31    DD%FF4m%F7%D7%E1
      0031  25 45 33 25 41 46 25 45 39 25 30 36 48 2D 36 79    %E3%AF%E9%06H-6y
      0032  25 42 41 25 42 41 25 43 41 25 31 38 25 44 44 25    %BA%BA%CA%18%DD%
      0033  41 37 25 45 39 25 39 32 25 45 43 25 33 45 25 46    A7%E9%92%EC%3E%F
      0034  45 25 30 30 25 42 37 25 35 45 56 25 32 34 25 41    E%00%B7%5EV%24%A
      0035  42 67 6F 25 41 41 25 46 32 63 56 67 65 31 25 37    Bgo%AA%F2cVge1%7
      0036  42 4A 25 45 41 25 43 35 25 30 36 25 42 45 25 39    BJ%EA%C5%06%BE%9
      0037  42 25 42 37 25 43 35 7A 25 46 36 25 32 33 25 31    B%B7%C5z%F6%23%1
      0038  42 57 25 30 41 25 33 46 25 44 42 25 37 44 25 43    BW%0A%3F%DB%7D%C
      0039  41 25 44 33 35 50 25 43 44 25 46 32 25 45 35 32    A%D35P%CD%F2%E52
      003A  6D 48 36 25 37 43 25 46 32 25 38 36 25 38 46 78    mH6%7C%F2%86%8Fx
      003B  25 46 38 25 45 38 25 43 46 25 39 45 25 44 31 25    %F8%E8%CF%9E%D1%
      003C  42 46 25 38 41 74 4B 25 38 36 4F 25 44 45 25 46    BF%8AtK%86O%DE%F
      003D  30 25 31 31 25 30 46 25 31 46 25 37 44 78 25 44    0%11%0F%1F%7Dx%D
      003E  44 25 42 34 69 25 45 42 25 44 39 25 32 36 25 35    D%B4i%EB%D9%26%5
      003F  42 25 46 45 25 30 44 25 42 44 25 33 46 25 37 44    B%FE%0D%BD%3F%7D
      0040  25 46 39 25 38 46 25 45 37 25 45 37 25 37 46 25    %F9%8F%E7%E7%7F%
      0041  46 41 25 45 42 25 32 33 25 46 37 25 44 31 25 45    FA%EB%23%F7%D1%E
      0042  43 25 31 31 25 46 46 25 39 46 25 45 42 25 30 36    C%11%FF%9F%EB%06
      0043  25 46 30 67 25 33 41 47 25 38 31 25 45 33 25 43    %F0g%3AG%81%E3%C
      0044  30 25 30 37 25 32 46 25 45 41 25 41 46 25 36 30    0%07%2F%EA%AF%60
      0045  7A 25 31 35 25 46 44 25 46 44 25 41 37 33 25 46    z%15%FD%FD%A73%F
      0046  41 77 25 39 32 25 43 34 25 44 38 25 33 42 61 25    Aw%92%C4%D8%3Ba%
      0047  42 37 38 25 44 44 5F 25 45 46 49 41 25 31 36 59    B78%DD_%EFIA%16Y
      0048  25 33 41 43 25 43 46 73 25 46 34 25 32 36 25 43    %3AC%CFs%F4%26%C
      0049  42 25 44 33 25 30 41 25 41 35 25 31 35 49 25 31    B%D3%0A%A5%15I%1
      004A  46 25 41 33 25 42 33 74 25 37 42 59 25 37 45 25    F%A3%B3t%7BY%7E%
      004B  32 34 25 44 35 25 39 32 25 43 43 25 44 30 25 30    24%D5%92%CC%D0%0
      004C  43 25 43 31 25 38 44 25 32 42 25 33 41 25 31 44    C%C1%8D%2B%3A%1D
      004D  25 30 44 25 44 39 25 39 30 62 49 6A 25 46 34 2D    %0D%D9%90bIj%F4-
      004E  25 41 39 32 52 6C 25 38 30 25 30 33 70 25 45 39    %A92Rl%80%03p%E9
      004F  25 41 43 25 41 43 25 39 42 25 31 34 25 33 44 25    %AC%AC%9B%14%3D%
      0050  43 44 25 44 33 62 25 39 31 25 43 32 25 33 46 25    CD%D3b%91%C2%3F%
      0051  33 46 25 43 30 25 46 46 25 43 45 25 35 45 25 37    3F%C0%FF%CE%5E%7
      0052  45 25 46 46 25 46 43 25 46 35 25 42 42 25 41 46    E%FF%FC%F5%BB%AF
      0053  25 44 44 25 30 46 25 31 46 25 39 45 25 39 44 25    %DD%0F%1F%9E%9D%
      0054  42 45 25 33 42 25 38 35 25 33 46 25 45 31 25 37    BE%3B%85%3F%E1%7
      0055  44 25 38 41 79 5A 25 35 43 25 39 30 25 45 32 25    D%8AyZ%5C%90%E2%
      0056  43 33 25 38 37 6F 25 43 42 25 41 36 25 41 43 25    C3%87o%CB%A6%AC%
      0057  33 46 25 37 43 38 25 42 46 4C 25 38 42 25 38 43    3F%7C8%BFL%8B%8C
      0058  25 46 45 25 44 42 73 25 39 33 25 39 33 5F 25 32    %FE%DBs%93%93_%2
      0059  46 25 44 37 25 39 41 25 38 46 25 37 45 25 45 44    F%D7%9A%8F%7E%ED
      005A  25 39 41 25 33 43 25 45 43 25 45 44 25 31 45 25    %9A%3C%EC%ED%1E%
      005B  41 36 25 39 33 25 44 36 25 30 46 25 38 33 25 41    A6%93%D6%0F%83%A
      005C  37 25 32 41 25 44 44 74 25 44 35 25 32 32 25 39    7%2A%DDt%D5%22%9
      005D  38 25 39 35 25 30 42 25 43 30 25 30 37 25 32 39    8%95%0B%C0%07%29
      005E  25 44 38 25 45 43 25 46 45 6D 25 41 36 62 25 30    %D8%EC%FEm%A6b%0
      005F  37 4E 76 25 31 46 25 37 43 25                      7Nv%1F%7C%

      Es handelt sich hier um einen urlencodeten gz-string, also binär, und kann es sein das der Apache text/plain erwartet und dadurch etwas verbockt? Und durch diese Änderungen läßt sich der binärstring auch nicht mehr dekodieren!

      Grüße
      Andreas

      1. Hi,

        Kann es sein das der Apache beim empfangen der Daten "Mist" baut?

        das halte ich eigentlich für ein Gerücht; Apache interessiert nämlich gar nicht, ob da irgendwo ein "%00" steht oder nicht. Er ermittelt das (in diesem Fall) Ziel-Script und leitet ihm weiter, was er hat. Was dieses dann mit den Daten macht, kann ich nicht sagen.

        Vergleich doch mal $_POST['clientdata'] mit $_ENV['QUERY_STRING'].

        Cheatah