AntiXssEncoder.UrlPathEncode(String) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Kóduje řetězce cest pro použití v adrese 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
Řetězec určený ke kódování
Návraty
Adresa URL, která obsahuje zakódovanou cestu.
Poznámky
Tato metoda kóduje všechny znaky kromě těch, které jsou v seznamu bezpečných. Znaky jsou kódovány pomocí %SINGLE_BYTE_HEX
zápisu.
Následující tabulka uvádí výchozí bezpečné znaky. Všechny znaky jsou z rozsahu znaků Unicode C0 a základní znakové znaky latinky .
Znaky | Description |
---|---|
A–Z | Znaky abecedy velkými písmeny |
a–z | Malá písmena |
0-9 | Čísla |
# | Znak čísla, hodnota hash |
% | Znak procenta |
( ) | Závorky |
- | Spojovník, minus |
. | Tečka, tečka, úplná stopa |
/ | Lomítko |
\ | Zpětné lomítko |
_ | Podtržítko |
{ } | Složené závorky |
| | Svislá čára |
~ | Tilda |
Následující tabulka uvádí příklady vstupů a odpovídajících zakódovaných výstupů.
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 |
Tato metoda kóduje pouze cestu adresy URL. Tato metoda nebude kódovat schéma (například , nebo ), autoritu (například www.northwind.com
nebo www.contoso.com:8080
) ani dotaz nebo fragment (například ?v=s978dfs9#x=103
).file:
ftp:
http:
Pokud řetězec neobsahuje žádné schéma nebo autoritu, předpokládá se, že řetězec je relativní cesta a cesta je kódována. V následující adrese URL je kódovaný pouze podřetěžce /default.htm
:
http://www.contoso.com:8080/default.htm?v=s978dfs9#x=103