Partager via


AntiXssEncoder.UrlPathEncode(String) Méthode

Définition

Encode les chaînes de chemin d'accès à utiliser dans une 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

Paramètres

value
String

Chaîne à encoder.

Retours

URL qui contient le chemin d’accès encodé.

Remarques

Cette méthode encode tous les caractères à l’exception de ceux figurant dans la liste sécurisée. Les caractères sont encodés à l’aide %SINGLE_BYTE_HEX de la notation.

Le tableau suivant répertorie les caractères sécurisés par défaut. Tous les caractères proviennent des contrôles Unicode C0 et de la plage de caractères latins de base .

Caractère(s) Description
A-Z Caractères alphabétiques majuscules
a-z Caractères alphabétiques minuscules
0-9 Nombres
# Signe numérique, hachage
% Signe de pourcentage
( ) Parenthèses
- Trait d’union, moins
. Point, point, point complet
/ Slash
\ Barre oblique inverse
_ Trait de soulignement
{ } Accolades, crochets bouclés
| Ligne verticale
~ Tilde

Le tableau suivant répertorie des exemples d’entrées et les sorties encodées correspondantes.

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

Cette méthode encode uniquement le chemin d’accès d’une URL. Cette méthode n’encodera pas le schéma (par exemple, http:, ftp:ou file:), l’autorité (par exemple, www.northwind.com ou www.contoso.com:8080) ou la requête ou le fragment (par exemple, ?v=s978dfs9#x=103). S’il n’y a pas de schéma ou d’autorité dans la chaîne, la chaîne est supposée être un chemin relatif et le chemin d’accès est encodé. Dans l’URL suivante, seule la sous-chaîne /default.htm est encodée :

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

S’applique à