Bug #16328
closedTypo3 generates links that are not RFC compliant
0%
Description
Typo3 core functions will generate links for extensions of the form
http://www.server.com/index.php?id=12&tx_someext[somevariable]=12
This does not comply with RFC 1738 where you will find the passage.
"Unsafe:
Characters can be unsafe for a number of reasons. The space
character is unsafe because significant spaces may disappear and
insignificant spaces may be introduced when URLs are transcribed or
typeset or subjected to the treatment of word-processing programs.
The characters "<" and ">" are unsafe because they are used as the
delimiters around URLs in free text; the quote mark (""") is used to
delimit URLs in some systems. The character "#" is unsafe and should
always be encoded because it is used in World Wide Web and in other
systems to delimit a URL from a fragment/anchor identifier that might
follow it. The character "%" is unsafe because it is used for
encodings of other characters. Other characters are unsafe because
gateways and other transport agents are known to sometimes modify
such characters. These characters are "{", "}", "|", "\", "^", "~",
"[", "]", and "`".
All unsafe characters must always be encoded within a URL. For
example, the character "#" must be encoded within URLs even in
systems that do not normally deal with fragment or anchor
identifiers, so that if the URL is copied into another system that
does use them, it will not be necessary to change the URL encoding."
Square brackets should therefore always be encoded as %5B and %5D. I came across this issue because the email client Sylpheed Claws cuts of URLs in emails at the first square bracket, considering the rest not part of the link. As this behaviour is correct according to the RFC, the SC developers will not change that.
http://www.ietf.org/rfc/rfc1738.txt
(issue imported from #M3808)
Updated by Jörg Wagner over 14 years ago
This old issue probably affects many extensions which all have to work their way around that bug. See http://forge.typo3.org/issues/show/5320 for a detailed discussion when the results of this bug showed up in extension mm_forum.
Updated by Dmitry Dulepov almost 13 years ago
- Category deleted (
Communication) - Status changed from New to Resolved
- Priority changed from Should have to Won't have this time
- Target version deleted (
0) - PHP Version deleted (
5)
Use implodeArrayForUrl with encoding of parameter names turned on.