2009-07-22 4 views

Antwort

17

Nein, es muss nicht wie ein URI codiert werden. HTML-Zeichen müssen jedoch verschlüsselt werden, so ...

<img src="myimg.png" alt="Me &amp; my image" /> 
+0

Ersetzen "sollte" mit "müssen" - zumindest wenn Sie einen Validator übergeben möchten – kdgregory

+4

Ersetzen Sie mit muss, wenn Sie nicht wa Es wird nicht erwischt, wie man dort Zitate zitiert. –

+0

Ersetzen Sie mit muss, wenn Sie nicht den gelben Bildschirm des Todes wollen (vorausgesetzt, Sie dienen Ihre XHTML als Anwendung/XHTML + Xml, sonst Schreiben XHTML ist nur mehr Ärger, dann ist es wert) – Quentin

2

Nein ist es nicht. Kodierung ist für URLs wie in http://en.wikipedia.org/wiki/Dream%20Theater, die die alt Zeichenfolge nicht ist.

Sie müssen entity-encoding verwenden > als &gt; zu entkommen, und " als &quot;, though. Beachten Sie, dass sich das von URI encoding unterscheidet, bei dem Sonderzeichen als Prozentzeichen plus zwei Hexadezimalziffern codiert sind.

5

Sie keine URL-Codierung erfordern, aber sie tun es erfordern, da alle XHTML Attribute tun, XHTML Entity-Codierung.

Falsch:

<img src="foo.gif" alt="Ben & Jerry's" /> 

Richtig:

<img src="foo.gif" alt="Ben &amp; Jerry's" /> 

Sie würden auch doppelte Anführungszeichen innerhalb der Werte kodieren müssen, obwohl Sie, dass im Allgemeinen Text nicht zu tun haben.

. Referenz:

0

Sie sollten HTML-Codierung verwenden (zB "wird "), nicht die URL-Codierung Wenn Sie ASP.NET verwenden, können Sie dies erreichen mit Server.HtmlEncode oder besser noch die HtmlAttributeEncode-Methode in AntiXSS Library on CodePlex.

Verwandte Themen