語言

AntiXssEncoder.HtmlAttributeEncode(String, TextWriter) 方法

定義

編碼並輸出指定的字串,用於 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)

參數

value
String

要編碼的字串。

output
TextWriter

用來輸出字串的文字寫入器。

備註

此方法編碼除安全清單中字元外的所有字元。 字元以 &#DECIMAL; 符號編碼。

Note

在新增字串前,先在結果字串周圍加上雙引號(“ ”)或單引號(' ')。

下表列出預設的安全字元。 除非在描述欄註明,否則皆屬於 Unicode C0 控制項及基本拉丁 字元範圍。

角色 Description
A-Z 大寫拉丁字母
a-z 小寫拉丁字母
0-9 數字
! 驚嘆號
# 數字符號、雜湊值
$ 美元符號
% 百分比符號
( ) 括號
* Asterisk
+ 加號
, 逗號
- 連字號,負號
. 句點,點,句號
/ 斜線
: 冒號
; 分號
= 等號
? 問號
@ 商業用 at-sign
[ ] 方括號
\ 反斜線
^ 插入號
_ 底線
` 莊重口音
{ } 牙套、捲括號
| 垂直線
~ 波浪號
0x00A1 - 0x00AC Unicode C1 控制與 Latin-1 補充 字元範圍中介於 0x00A1(161 位小數)至 0x00AC(172 位)之間的特殊字元。
0x00AE - 0x00FF Unicode C1 控制與拉丁語 1 補充 字元範圍中介於 0x00AE(174 位小數)至 0x00FF(255 位)之間的特殊字元。
0x0100 - 0x017F 字元介於0x0100(小數256)至0x017F(383)。 (Unicode 拉丁語擴展 A 字元範圍。)
0x0180 - 0x024F 字元介於0x0180(小數384)至0x024F(591)之間。 (Unicode 拉丁語擴展 B 字元範圍。)
0x0250 - 0x02AF 字元介於0x0250(小數點數592)至0x02AF(687位)。 (Unicode IPA 擴充 字元範圍。)
0x02B0 - 0x02FF 字元介於0x02B0(688位小數)至0x02FF位(767位)。 (Unicode 間 距修飾字母 的字元範圍。)
0x0300 - 0x036F 字元介於0x0300(小數768)至0x036F(879)。 (Unicode 結合變音符號 字元範圍。)

下表列出輸入及相應編碼輸出的範例。

輸入範例 編碼輸出
alert('XSS Attack!'); alert('XSS Attack!');
<script>alert('XSS Attack!');</script> &lt;script&gt;alert(&#39;XSS Attack!&#39;);&lt;/script&gt;
alert('XSSあAttack!'); alert(&#39;XSS&#12354;Attack!&#39;);
user@contoso.com user@contoso.com
"Anti-Cross Site Scripting Namespace" &quot;Anti-Cross Site Scripting Namespace&quot;

要自訂保險箱清單,請呼叫該 MarkAsSafe 方法。

適用於