Язык

AntiXssEncoder.UrlPathEncode(String) Метод

Определение

Кодирует строки пути для использования в URL-адресе.

protected public:
 override System::String ^ UrlPathEncode(System::String ^ value);
protected internal override string UrlPathEncode(string value);
override this.UrlPathEncode : string -> string
Protected Friend Overrides Function UrlPathEncode (value As String) As String

Параметры

value
String

Строка для кодирования.

Возвращаемое значение

URL-адрес, содержащий закодированный путь.

Комментарии

Этот метод кодирует все символы, кроме тех, которые находятся в безопасном списке. Символы кодируются с помощью %SINGLE_BYTE_HEX нотации.

В следующей таблице перечислены безопасные символы по умолчанию. Все символы относятся к элементам управления Юникод C0 и диапазону символов Basic Latin .

Символы Description
А-Я Буквенные буквы
a-z Строчные буквы
0–9 Числа
# Знак номера, хэш
% Символ процента
( ) Круглые скобки
- Дефис, минус
. Период, точка, полная остановка
/ Разрез
\ Обратная косая черта
_ Подчеркивание
{ } Фигурные скобки, фигурные скобки
| Вертикальная линия
~ Тильда

В следующей таблице перечислены примеры входных данных и соответствующих закодированных выходных данных.

Input Output
http://www.contoso.com:8080/<en-us>/[page].htm?v={value1}#x=[amount] http://www.contoso.com:8080/%3cen-us%3e/%5bpage%5d.htm?v={value1}#x=[amount]
alert('XSS Attack!'); alert(%27XSS%20Attack%21%27)%3b
<script>alert('XSS Attack!');</script> %3cscript%3ealert(%27XSS%20Attack%21%27)%3b%3c/script%3e
alert('XSSあAttack!'); alert(%27XSS%e3%81%82Attack%21%27)%3b
user@contoso.com user@contoso.com
"Anti-Cross Site Scripting Namespace" %22Anti-Cross%20Site%20Scripting%20Namespace%22

Этот метод кодирует только путь URL-адреса. Этот метод не кодирует схему (например, илиhttp:ftp:file:), центр (например, www.northwind.com илиwww.contoso.com:8080), запрос или фрагмент (например, ?v=s978dfs9#x=103). Если в строке нет схемы или центра, предполагается, что строка является относительным путем, а путь закодирован. В следующем URL-адресе закодирована только подстрока /default.htm :

http://www.contoso.com:8080/default.htm?v=s978dfs9#x=103

Применяется к