Поделиться через


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 в Юникоде и базовому латинскому диапазону символов.

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

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

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%40contoso.com
"Anti-Cross Site Scripting Namespace" %22Anti-Cross%20Site%20Scripting%20Namespace%22

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

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

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