dedlfix: htaccess + modrewrite + Sonderzeichen

Beitrag lesen

Hi!

Du hängst also die 20 Bytes mit einem möglichen Werteumfang von 0..255 direkt an die URL ohne dabei zu beachten, das diese Bytes als Zeichen interpretiert werden, von denen einige im URL-Umfeld eine besondere Bedeutung haben?

Ich hänge gar nichts - das BitTorrent Protokol sieht es so vor.
Nur der Rewrite zerhackt es anscheinend.

Also irgendwer hängt da was an die URL und du stellst fest, dass da was fehlt. Woraus genau schlussfolgerst du das? Was genau fehlt denn?

Muss ich da vielleicht vorher das Charset wechseln, oder den String irgendwie escapen?

Wenn du selbst nichts machst und es einfach geschickt bekommst, wirst du vermutlich auch keine Änderung an dem dir gesendeten vornehmen können.

Mit jedem Wurm, den man einzeln aus der Nase ziehen muss sinkt übrigens die Mit-dem-Problem-Beschäftigungsbereitschaft. Wenn du vorwärtskommen möchtest, solltest du es so beschreiben, dass man es sofort nachvollziehen kann. Dass der Apache beim Rewriten einen Fehler macht, kann zwar nicht gänzlich ausgeschlossen werden, aber es ist doch eher umwahrscheinlich, dass es bis jetzt noch nicht bemerkt wurde. Also solltest du davon ausgehen, dass die Ursache irgendwo in deinem Einflussbereich zu suchen ist. Und wenn da ein Außenstehender die Ursache erkennen soll, muss er das Problem nachvollziehen können.

Was also bekommst du übergeben?

"GET /test.php?param1=1&param2=%ea%81%e3h%28e%20-%5cJ%bc%00&param3=%ef%85%1a%05%8f%a4%c5%93a8%15%07xP%f9b%9b%db%05%04&param4=1850

Was bekommt test.php zu sehen?

var_dump($_GET);
  Binärwerte: echo bin2hex($_GET[...]);

Welcher Wert wird wie erwartet und was steht stattdessen drin?

var_dump(...);
  Binärwerte: echo bin2hex(...);

Lo!