Język

AntiXssEncoder.UrlPathEncode(String) Metoda

Definicja

Koduje ciągi ścieżki do użycia w adresie 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

Parametry

value
String

Ciąg do kodowania.

Zwraca

Adres URL zawierający zakodowaną ścieżkę.

Uwagi

Ta metoda koduje wszystkie znaki z wyjątkiem tych, które znajdują się na liście bezpiecznych. Znaki są kodowane przy użyciu %SINGLE_BYTE_HEX notacji.

W poniższej tabeli wymieniono domyślne bezpieczne znaki. Wszystkie znaki pochodzą z kontrolek Unicode C0 i podstawowego zakresu znaków łacińskich .

Znaki Opis
A-Z Wielkie litery alfabetyczne
a-z Małe litery alfabetyczne
0–9 Liczby
# Znak numeru, skrót
% Znak procentu
( ) Nawiasy
- Łącznik, minus
. Kropka, kropka, pełne zatrzymanie
/ Ukośnik
\ Ukośnik odwrotny
_ Podkreślenie
{ } Nawiasy klamrowe, nawiasy klamrowe
| Linia pionowa
~ Tylda

W poniższej tabeli wymieniono przykłady danych wejściowych i odpowiednie zakodowane dane wyjściowe.

Dane wejściowe 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

Ta metoda koduje tylko ścieżkę adresu URL. Ta metoda nie będzie kodować schematu (na przykład , lub ), urzędu (na przykład http: lub ftp:) albo zapytania lub fragmentu (na przykład file:).www.northwind.comwww.contoso.com:8080?v=s978dfs9#x=103 Jeśli w ciągu nie ma schematu ani urzędu, przyjmuje się, że ciąg jest ścieżką względną, a ścieżka jest kodowana. W następującym adresie URL kodowany jest tylko podciąg /default.htm :

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

Dotyczy