News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

SMF 2.0 does not understood %3b as an ; in QueryString.php

Started by petb, February 19, 2010, 04:18:56 PM

Previous topic - Next topic

petb

My SMF 2.0 RC2 does not understood
www.xxx.xxx/index.php?action=activate%3bu=x

but it will work fine with
www.xxx.xxx/index.php?action=activate;u=x

smf uses the _SERVER["QUERY_STRING"] which was action=activate%3bu=x
instead of action=activate;u=x

This brings the Function in QueryString.php in trouble.
Because it can only handle ; and & as a separator.

The Bugtracker here http://dev.simplemachines.org/mantis/view.php?id=2669
says this could not be fixed....
The Solution in 2008 was reverted in 2009.

I think if i place a manual Codeline in the QueryString.php,
which parses the _SERVER["QUERY_STRING"] and translates the %3b into an ;
looks like a Dirty Hack.

But i see that simplemachines.org can handle the %3b, so which config do i have to edit ?
apache mod_rewrite or php.ini or an apache2 config item ?
maybe adding another charset anywhere ?
In which Way simplemachines.org handle this ?

Need help please, what should i do ?

THX

PetB

Some URL like this, encoded with %xx comes from a lot of User which uses Webmailers.
Most of the Webmailers use a parser to translate/encode the URL like this, which looks like it is a normal and legal behavoiur confirm to http://tools.ietf.org/html/rfc3986

petb

Sorry,

the rfc3986 says what the Person in the Bugtracker says in his Post in 2009.
When the ; was encoded it became a Part of the Data !

So the Parser of for example: www.web.de or www.gmx.de corrupts the rfc3986 by their encoding the ; into %3b

Okay.
So the Questions are:
In which Way simplemachines.org handles this ? (Because it uses the %3b as a separator)
And, why does php itself uses the %3b as a separator when the ; was set as an separator inthe php.ini.
PHP makes two variables from the query string.

petb

Now i discuss the Problem with some other People and most of them mention that it was a legal use to encode a whole URL and the Programm itself hast to handle the decode itself before using the Server_Query String.

Also the Mailproviders GMX.de and Web.de (Daughters Companies of the United Internet Group) answered me :
How their Webmailers handle the Links was confirm to rfc.

And i belive this, because php itself declares the Parameters into different Variables, no matter if the Query String has %3b instead of ; as Separator !

So the reverted Patch here http://dev.simplemachines.org/mantis/view.php?id=2669
which stays from 2008 to 2009 seems like a solution for this, didnt it ?

Also it was unanswered how simplemachines.org handle this %3b but the delievered SMF Software package cant.

Advertisement: