Henryk Plötz: Probleme mit POST Header (multipart/form-data)

Beitrag lesen

Moin,

Mist, Mozilla hat das Posting auf dem Gewissen. Anscheinend hat er den String bei einem der Zeichen (scheinbar dem 0x7F) die du reingepastet hast beendet.

Was ich sagen wollte:

0004  F9 94 E6 56 4E E5 50 18 7F FF C2 E1 00 00 50 4F    {gesnippt}

Leider hast du den Anfangsteil der die TCP- und IP-Header mit unter anderem der Portnummer enthält größtenteils weggeschnitten. Das ist aber auch egal, denn das sieht nicht verschlüsselt aus, ist also kein HTTPS und damit eh ungewollt.

0006  20 48 54 54 50 2F 31 2E 30 0D 0A 48 6F 73 74 3A     HTTP/1.0..Host:
0007  20 68 74 74 70 73 3A 2F 2F 77 77 77 2E 6B 6E 65     https://www.kne

So wie ich RFC 2616 lese, darf der Host:-Header auch keine Protokollangabe enthalten, dieser Header somit tatsächlich kaputt.

000D  32 36 31 0D 0A 0D 0A 62 6C 61 6B 0D 0A 43 6F 6E    261....blak..Con

Fehlen vor dem blak da nicht noch -- oder bin ich wieder verwirrt?

Mag sein das ich blind bin, aber wo steht da der Port 443 den ich richtigerweise fsockopen() mitgegeben habe? 443 ist 100%ig der SSL-Port!

Den Port hast du weggeschnitten. ;-)

IWe gesagt komme ich da leider nicht an die error-log. Porblem ist das die Error.log nicht nach Kunden getrennt werden kann.

Wenn du dir den Server mit anderen Kunden teilst, darfst du dich bei der Authentifizierung ohnehin nicht allein auf die IP-Addresse verlassen, da die ja auch von 127.0.0.1 kommen können.

Ich habe nochmal news.txt gelesen, da steht definitiv:

  • PHP now has a new stream system that allows it to do some clever stuff with
      fopen() and fsockopen().  As a result:
      . URL wrappers natively supports https:// URLs
      . fsockopen() adds support for ssl:// and tls:// connections via TCP/IP

Ich habe mir eben auch einen aktuellen PHP-Snapshot gezogen und da ist mir aufgefallen: In dem Text steht, dass URL Wrapper (also fopen(), file()...) mit https gehen sollten, du bei fsockopen aber ssl: oder tls: nehmen musst. Du darfst die beiden Einträge nicht vermixen. Ich habe es auch versucht und scheinbar geht beides nicht, wahrscheinlich ist das Stream-Gezeugs noch nicht fertig. Also würde ich sagen: Schauen warum der SSH-Tunnel nicht geht und warten.

Wie gesagt, openssl-modul ist gegeben.

Ja, ich habe auch mal eine OpenSSL-Funktion aufgerufen und scheint wirklich drin zu sein, wenn phpinfo() das sagt (zumindest ist mir nichts in Gesicht geflogen). Schau dir also mal http://www.php.net/manual/en/ref.openssl.php an, ob du damit auch weiterkommst, zumal man dafür kein so neues PHP braucht, solange die Extension installiert ist. Wenn du schon dabei bist, kannst du eigentlich auch gleich mcrypt nehmen. Ein Rjindael (==AES) mit ordentlicher Schlüssellänge erscheint mir subjektiv doch deutlich angenehmer als der von openssl_seal() verwendete RC4 (== der Algorithmus der WEP zum Verhängnis wurde).

So langsam wie die letzten Tage bin ich noch nie vorwärts gekommen. War aber wenigstens lehrreich(vor allem dank Dir!)

Ich danke, da ich auch viel lerne.

--
Henryk Plötz
Grüße von der Ostsee