AntiXssEncoder.HtmlAttributeEncode(String, TextWriter) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Koduje i wyprowadza określony ciąg do użycia w atrybucie HTML.
protected public:
override void HtmlAttributeEncode(System::String ^ value, System::IO::TextWriter ^ output);
protected internal override void HtmlAttributeEncode(string value, System.IO.TextWriter output);
override this.HtmlAttributeEncode : string * System.IO.TextWriter -> unit
Protected Friend Overrides Sub HtmlAttributeEncode (value As String, output As TextWriter)
Parametry
- value
- String
Ciąg do kodowania.
- output
- TextWriter
Składnik zapisywania tekstu używany do wyprowadzania ciągu.
Uwagi
Ta metoda koduje wszystkie znaki z wyjątkiem tych, które znajdują się na liście bezpiecznych. Znaki są kodowane przy użyciu &#DECIMAL; notacji.
Note
Umieść znaki podwójnego cudzysłowu (" ") lub pojedynczy cudzysłów () wokół wynikowego ciągu przed dodaniem go do strony.
W poniższej tabeli wymieniono domyślne bezpieczne znaki. Wszystkie pochodzą z kontrolek Unicode C0 i podstawowego zakresu znaków łacińskich , chyba że zostaną zanotowane w kolumnie Opis.
| Znaki | Opis |
|---|---|
| A-Z | Wielkie litery alfabetu łacińskiego |
| a-z | Małe litery alfabetyczne |
| 0–9 | Liczby |
| ! | Wykrzyknik |
| # | Znak numeru, skrót |
| $ | Znak dolara |
| % | Znak procentu |
| ( ) | Nawiasy |
| * | Asterisk |
| + | Znak plus |
| , | Przecinek |
| - | Łącznik, minus |
| . | Kropka, kropka, pełne zatrzymanie |
| / | Ukośnik |
| : | Dwukropek |
| ; | Średnik |
| = | Znak równości |
| ? | Znak zapytania |
| @ | Znak komercyjny |
| [ ] | Nawiasy kwadratowe |
| \ | Ukośnik odwrotny |
| ^ | Daszek |
| _ | Podkreślenie |
| ` | Akcent grobowy |
| { } | Nawiasy klamrowe, nawiasy klamrowe |
| | | Linia pionowa |
| ~ | Tylda |
| 0x00A1 — 0x00AC | Znaki specjalne między 0x00A1 (161 dziesiętne) i 0x00AC (172 dziesiętne) z zakresu znaków Unicode C1 i Łaciński-1. |
| 0x00AE — 0x00FF | Znaki specjalne między 0x00AE (174 dziesiętne) i 0x00FF (255 dziesiętne) z zakresu znaków Unicode C1 i Łaciński-1. |
| 0x0100 — 0x017F | Znaki między 0x0100 (256 dziesiętne) i 0x017F (383 dziesiętne). (Zakres znaków Unicode Latin-Extended-A ). |
| 0x0180 — 0x024F | Znaki między 0x0180 (384 dziesiętne) i 0x024F (591 dziesiętne). (Zakres znaków Unicode Latin-Extended-B ). |
| 0x0250 — 0x02AF | Znaki między 0x0250 (592 dziesiętne) i 0x02AF (687 dziesiętne). (Zakres znaków rozszerzeń IPA Unicode). |
| 0x02B0 — 0x02FF | Znaki między 0x02B0 (688 dziesiętne) i 0x02FF (767 dziesiętne). (Zakres znaków modyfikatora odstępów Unicode). |
| 0x0300 — 0x036F | Znaki między 0x0300 (768 dziesiętne) i 0x036F (879 dziesiętne). (Unicode Łączący zakres znaków znaków diakrytycznych ). |
W poniższej tabeli wymieniono przykłady danych wejściowych i odpowiednie zakodowane dane wyjściowe.
| Przykłady danych wejściowych | Zakodowane dane wyjściowe |
|---|---|
alert('XSS Attack!'); |
alert('XSS Attack!'); |
<script>alert('XSS Attack!');</script> |
<script>alert('XSS Attack!');</script> |
alert('XSSあAttack!'); |
alert('XSSあAttack!'); |
user@contoso.com |
user@contoso.com |
"Anti-Cross Site Scripting Namespace" |
"Anti-Cross Site Scripting Namespace" |
Aby dostosować bezpieczną listę, wywołaj metodę MarkAsSafe .