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 :
un click sur le lien google.fr, produit ceci :
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:
Enregistrer un commentaire