Comment masquer un referer sur un lien sortant avec asp.net mv3

 

Pour diverses raisons il est indispensable de masquer le referer d’un lien sortant dans un site, par exemple lors d’un click dans un extranet ou certains paramètres de l’url peuvent apparaitre et devenir un point d’entrée pour une tentative d’intrusion.

Pour eviter de montrer des informations aux sites distants voici un exemple ce que 'qu’il est possible de faire :

on peut voir ligne 11 ce qu’il faut obtenir , une nouvelle methode d’extension de UrlHelper dans la responsabilité sera d’encoder le lien http://www.google.fr
voici le détail de la methode :
L’idée est de récuperer l’url “http://www.google.fr” et d’encoder la chaine de caractère en base 64 pour qu’elle passe correctement en paramètre meme si elle a elle meme des paramètres, on peut voir que l’url de redirection sera redirect?url=XXX
dans global.asax on va indiquer au gestionnaire de routes comment il doit traiter cette url :

Ligne 5 on indique l’action que doit effectuer le controller home dont voici le code :

on recupere le parametre url encodé en base64, on le décode et on retourne du code html généré dont le but sera d’utiliser la balise meta refresh pour justement masquer la precedente url, voici le resultat :

image

un click sur le lien google.fr, produit ceci :

image

Certe il y a un referer mais il est encodé, le site distant ne peut dont pas voir la page ou etait présent le lien.

Code source de la solution :

Aucun commentaire: