« B.2.2: Ampersands in URI attribute values
The URI that is constructed when a form is submitted may be used as an anchor-style link (e.g., the href attribute for the element). Unfortunately, the use of the "&" character to separate form fields interacts with its use in SGML attribute values to delimit character entity references. For example, to use the URI "http://host/?x=1&y=2" as a linking URI, it must be written <A href="http://host/?x=1&y=2"> or <A href="http://host/?x=1&y=2">.
We recommend that HTTP server implementors, and in particular, CGI implementors support the use of ";" in place of "&" to save authors the trouble of escaping "&" characters in this manner.»
It's not a new recommendation either. It's been there since 1995. CGI.pm supports it, but I doubt I've ever seen it actually used anywhere.
Support (Score:2)
The other part of the problem is the fact that our tools are fundamentally broken and insecure [happygiraffe.net].
-Dom
Re:Support (Score:2)
Re:Support (Score:1)
I don't think that's a URI.pm bug, since escaping the query string is only relevant when it's being used as an attribute value. I'd say it's a bug in whatever is generating the HTML code.
(Unless you mean the patch changes it to emit semi-colons instead of ampersands, in which case, I apologize, because you're correct.)
(darren)
Re:Support (Score:2)
-Dom
Re: (Score:1)
Funny, I complained about that just recently [philringnalda.com] – PHP still isn’t configured to accept semicolonised query strings by default. It’s by far the biggest offender.
Maybe I should take a look at what the Rails and Django folk are doing and complain at them too.
Perl stuff is mostly good about this.
OAI (Score:2)
So for simplicity, I used the query string made to make the request as the resumption token, with the counter incremented. This meant encoding & as &, of course. The search site people tho