nhttp decoded URLs zu früh

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
MASHtm
Interessierter
Interessierter
Beiträge: 80
Registriert: Samstag 11. Mai 2002, 17:12

nhttp decoded URLs zu früh

Beitrag von MASHtm »

Hi!

nhttpd dürfte übermittelte URLs zu früh decodieren.

Schickt man ihm zB ein

"GET /control/message?nmsg=A%20%26%20B HTTP/1.1"

würde ich mir ein Messagefenster mit dem Inhalt "A & B" erwarten.
nhttpd konvertiert das allerdings zu "nmsg=A & B". Somit wird " B" zu einem zweiten Parameter und es erscheint nur ein "A " im Fenster.

IMO liegt der Wurm in der request.cpp in Funktion ParseFirstLine. Da heißt es:

Code: Alles auswählen

		if((t = url.find('?')) > 0)			// eventuellen Parameter inner URL finden
		{
			URL = url.substr(0,t);
			Param_String = url.substr(t+1,url.length() - (t+1));
			URLDecode(Param_String);

			return ParseParams(Param_String);
		}

Das URLDecode ist hier IMO zu früh und dürfte erst nach der Aufspaltung der Parameter erfolgen.

Servus, MASHtm