This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
对 HTTP、HTML 和 XML 编码以及“安全”字符的操作
以下操作适用于请求或响应中的 HTML 数据和 POST 正文中的 XML 数据的编码。
-
<text>.HTML_XML_SAFE: 将特殊字符转换为 XML 安全格式,如以下示例所示:
左向角括号 (<) 转换为 < 右向角括号 (>) 转换为 > 和符号 (&) 转换为 & 此操作可防止跨站点脚本攻击。转换后的文本的最大长度为 2048 字节。这是只读操作。
应用转换后,您在表达式中指定的其他运算符将应用于所选文本。以下是一个例子:
http.req.url.query.html_xml_safe. contains(“myQueryString”)
-
<text>.HTTP_HEADER_SAFE: 将输入文本中的所有新行 (‘\n’) 字符转换为 %0A,以便启用要在 HTTP 标头中安全使用的输入。
此操作可防范响应拆分攻击。
转换后的文本的最大长度为 2048 字节。这是只读操作。
-
<text>.HTTP_URL_SAFE: 将不安全的 URL 字符转换为 %xx 值,其中“xx”是基于十六进制的输入字符的表示形式。例如,在 URL 安全编码中,和号 (&) 表示为 %26。转换后的文本的最大长度为 2048 字节。这是只读操作。
以下是 URL 安全字符。所有其他都不安全:
- 字母数字字符:a-z、A-Z、0-9
- 阿斯特里克斯:“*”
- 和号:“&”
- at 标志:“@”
- 冒号:“:”
- 逗号:“,”
- 美元:“$”
- 点:”。“
- 等于:“=”
- 感叹号:“!“
- 连字符:“-”
- 打开和关闭圆括号:“(“,“)”
- 百分比:“%”
- 另外:“+”
- 分号:“;”
- 单引号:“’”
- 斜杠:“/”
- 问号:“?“
- 波浪号:“~”
- 下划线:“_”
-
<text>.MARK_SAFE:
在不应用任何类型的数据转换的情况下将文本标记为安全。
-
<text>.SET_TEXT_MODE(URLENCODED|NOURLENCODED)
转换字节流中的所有 %HH 编码。此操作适用于字符(不是字节)。默认情况下,单字节表示 ASCII 编码中的字符。但是,如果您指定 URLENCODED 模式,则三个字节可以代表一个字符。
在以下示例中,PREFIX (3) 操作选择目标中的前 3 个字符。
http.req.url.hostname.prefix(3)
在以下示例中,NetScaler 可以从目标中选择最多 9 个字节:
http.req.url.hostname.set_text_mode(urlencoded).prefix(3)
-
<text>.SET_TEXT_MODE(PLUS_AS_SPACE|NO_PLUS_AS_SPACE):
指定如何处理加号字符 (+)。PLUS_AS_SPACE 选项用空格替换加号字符。例如,文本“hello+world”变成“您hello world”。NO_PLUS_AS_SPACE 选项使加号字符保持不变。
-
<text>.SET_TEXT_MODE(BACKSLASH_ENCODED|NO_BACKSLASH_ENCODED):
指定是否对由 <text> 表示的文本对象执行反斜杠解码。
如果指定了 BACKSLASH_ENCODED,则 SET_TEXT_MODE 运算符对文本对象执行以下操作:
- 所有出现的“\ XXX”都将替换为字符“Y”(其中 XXX 代表八进制系统中的一个数字,Y 代表 XXX 的 ASCII 等价物)。这种编码类型的八进制值的有效范围为 0 到 377。例如,编码后的文本“http\ 72//”和 http\ 072//”都将被解码为
<http://>
,其中冒号 (:) 是等同于八进制值“72”的 ASCII。 - 所有出现的“\ xHH”都将替换为字符“Y”(HH 代表十六进制系统中的数字,Y 表示 HH 的 ASCII 等效值)。例如,编码后的文本“http\ x3a//”将被解码为
<http://>
,其中冒号 (:) 是等同于十六进制值“3a”的 ASCII。 - 所有出现的“\ uWWxx”都将替换为字符序列“YZ”(其中 WW 和 XX 代表两个不同的十六进制值,Y 和 Z 分别代表它们的 ASCII 等效值 WW 和 XX。例如,编码后的文本“http%u3a2f/”和“http%u003a//”都将被解码为
<http://>
,其中“3a”和“2f”是两个十六进制值,冒号 (:) 和正斜杠 (“/”) 分别表示它们的 ASCII 等价物。 - 所有出现的“\ b”、“\ n”、“\ t”、“\ f”和“\ r”都将替换为相应的 ASCII 字符。
如果指定了 NO_BACKSLASH_ENCODED,则不对文本对象执行反斜杠解码。
- 所有出现的“\ XXX”都将替换为字符“Y”(其中 XXX 代表八进制系统中的一个数字,Y 代表 XXX 的 ASCII 等价物)。这种编码类型的八进制值的有效范围为 0 到 377。例如,编码后的文本“http\ 72//”和 http\ 072//”都将被解码为
-
<text>.SET_TEXT_MODE(BAD_ENCODE_RAISE_UNDEF|NO_BAD_ENCODE_RAISE_UNDEF):
如果设置了 URLENCODED 或 BACKSLASH_ENCODED 模式,并且在 <text> 表示的文本对象中遇到与指定编码模式对应的错误编码,则执行相关的未定义操作。
如果指定了 NO_BAD_ENCODE_RAISE_UNDEF,则在由 <text> 表示的文本对象中遇到错误的编码时,将不会执行相关的未定义操作。
共享
共享
在本文中
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.