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