Codage Utf 8 vers Echappement %
   
 



Transcoder des urls de "UTF 8" vers "échappement %"
Obfuscation - obfuscated - cryptage - camouflage - cipher - chiffrement

Le codage des URLs (des liens hypertexte) répond à une syntaxe qui a été voulue, dès le départ, ouverte aux futurs protocoles possibles et imaginables et être utilisable par tous les systèmes déjà existants.
  • Une URL débute toujours par un champ qui définit le schéma de nommage dans lequel l'objet référencé se situe. Par convention ce champ contient donc le nom du protocole, par exemple http, https, ftp, gopher etc. ...
  • Un séparateur (un délimiteur), le caractère ":"
  • La suite de l'URL, suite qui dépend directement de la valeur du premier champ

C'est donc l'usage de la bonne vieille table de caractères normalisée, la table ASCII (American Standard Code for Information Interchange) qui a été retenu. Cette table est constituée de tous les caractères imprimables (que l'on voit et trouve donc sur un clavier) mais aussi de certains autres, non imprimables et non visibles sur un clavier. Ils sont, traditionnellement, utilisés, par exemple pour donner des ordres de format aux imprimantes "caractère" (sauts de page, sauts de ligne, tabulation etc. ...). Leur utilisation est nécessaire car certains services utilisent ces caractères spéciaux comme éléments du protocole (gopher, par exemple, utilise le caractère Tab (%09) comme séparateur de champ).
  0 1 2 3 4 5 6 7 8 9 A B C D E F
0 NUL SOH STX ETX EOT ENQ ACK BEL BS TAB LF VT FF CR SO SI
1 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
2 espace ! " # $ % & ' ( ) * + , - . /
3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4 @ A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z [ \ ] ^ _
6 ` a b c d e f g h i j k l m n o
7 p q r s t u v w x y z { | } ~  
8   ƒ ˆ Š Œ   Ž  
9   ˜ š œ   ž Ÿ
A   ¡ ¢ £   ¥ | § ¨ © ª « ¬ ¯ ® ¯
B ° ± ² ³ ´ µ · ¸ ¹ º » ¼ ½ ¾ ¿
C À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï
D Ð Ñ Ò Ó Ô Õ Ö   Ø Ù Ú Û Ü Ý Þ ß
E à á â ã ä å æ ç è é ê ë ì í î ï
F ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ

Le caractère "TAB", par exemple, est, dans cette table, à l'intersection de la ligne 0 et de la colonne 9. Son code ASCII est donc 09.

Ceci est, bien entendu, fonctionnel sur toute la table ASCII. Par exemple "Papa" pourrait donc s'écrire "50 61 70 61", mais il manque quelque chose :

Pour distinguer 50 61 70 61 d'un bête nombre, il a été convenu d'un code dit d'"échappement" qui a été choisi pour être le caractère "%" d'où le nom d'"échappement %". Lorsque ce code est rencontré, les 2 caractères qui le suivent sont le code ASCII d'un caractère. (Conséquence syntaxique : le caractère % est "interdit" en écriture directe et ne peut s'écrire que %25).

Papa pourrait donc s'écrire %50 %61 %70 %61, mais il manque encore quelque chose que la règle syntaxique impose :

Le caractère "espace" n'est pas admis. Il doit être remplacé, lorsqu'il est requis, par %20 (le caractère "espace" dans la case ligne 2 colonne 0). S'il n'est pas requis, il ne doit pas y en avoir.

Donc, finalement, Papa s'écrit %50%61%70%61. Cette manière d'écrire les URLs est donc parfaitement légitime bien que totalement "exotique" et consiste à remplacer chaque caractère (d'une URL, d'une chaîne de caractères quelconque...) par son équivalent dans un autre alphabet appelé "échappement %". Les sites crapuleux et les spammeurs sont les grands utilisateurs de cette méthode de camouflage. Nous pouvons d'ailleurs leur rendre la monnaie de leur pièce et crypter nos adresses e-mail pour éviter leurs robots en utilisant les mêmes outils qu'eux !).


Utilisation :
  • Saisir un texte "normal" dans la case du haut pour en obtenir le codage en "échappement %" dans la case du bas
  • Saisir un texte encodé en "échappement%" dans la case du bas pour en obtenir la version décodée dans la case du haut.

Ceci est généralement utilisé pour le passage d'arguments dans les URI et est utilisé pour le cryptage des URLs par les spammeurs et les sites crapuleux. Les autres raisons de son utilisation sont :
  • la protection des codes sources des pages html, qui deviennent difficilement lisibles à ceux qui cherchent à contourner vos protections d'accès à certaines zones, usurper les paiements etc. ...
  • la protection contre les robots sans capacité de décodage JavaScript, écumant le Net à la recherche d'adresses e-mail ou de contenu etc. ...
Dans cette fenêtre, le texte en clair


Dans cette fenêtre, le texte encodé





Transcoder des urls de "UTF 8" vers "échappement %"





Révision - 13.03.05
Initial - 1999...

Rédigé en écoutant