Cheatah: URL-Maskierung (?)

Beitrag lesen

Hi,

Wie muss die Adresse http://www.beispiel.de/bla_-_100%_irgendwas_&_wasanderes.txt in den Browser eingegeben werden bzw. in einem Hyperlink angegeben werden?

  1. In der _gesamten_ HTML-Datei müssen die Zeichen <, > und & durch &lt;, &gt; und &amp; ersetzt werden.

neben dem bereits von Ingo genannten Einwand ist das nur die zweite Hälfte der Wahrheit. Die erste benötigte Kodierung betrifft die URL, denn oben Genanntes ist, wie der Fragesteller verdeutlichte[1], ein unvollständiger Versuch, eine URL zu erzeugen. Erst wenn dies abgeschlossen ist, kann die korrekte URL in HTML-Code eingefügt werden, was eine HTML-Kodierung notwendig macht. Sollte die URL-Kodierung ergeben haben, dass das "&"-Zeichen durch etwas anderes ersetzt wurde[2], ergibt eine HTML-Kodierung wieder den selben Wert. Mit anderen Worten:

  1. Das Prozentzeichen in einer URL muss durch %25 ersetzt werden, [...]

Falsche Reihenfolge. _Dies_ ist 1., obiges ist 2.

Dein Beispiel sollte daher zumindest so aussehen:
http://www.beispiel.de/bla_-_100%25_irgendwas_&amp;_wasanderes.txt

Würde das "&" in der URL durch "%26" ersetzt werden müssen, wäre diese Behauptung falsch. Merke:

Immer (und _genau_) dann, wenn ein Wert in einen Kontext gebracht wird, muss dieser Wert kontextspezifisch kodiert werden.

Also nicht einfach erst alles zusammen schmeißen und dann alle Kodierungen in der Reihenfolge durchführen, wie sie einem gerade einfallen :-)

Cheatah

[1] Mir jedenfalls wurde das so deutlich.
[2] Was an dieser Stelle sein darf, aber nicht muss.

--
X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes