web-dev-qa-db-fra.com

Comment empêcher notre site Web par le détournement de clics dans ASP.NET c #?

J'ai un site Web dynamique sur lequel je dois me protéger contre les attaques de détournement de clics. Dans la base de données, obtenir ce type de valeurs lors de la recherche, j'en savais un peu plus sur le détournement de clics, mais c'est exactement ce qui ne l'est pas.

27
shashank

Options X-FRAME

Ajoutez ce code dans le fichier global.asax.

protected void Application_BeginRequest(object sender, EventArgs e)
{
  HttpContext.Current.Response.AddHeader("x-frame-options", "DENY");
}

OU

ajoutez simplement ceci à <system.webServer> dans votre fichier Web.Config

<!--Clickjacking security-->
    <httpProtocol>
      <customHeaders>
        <add name="X-Frame-Options" value="DENY" />
      </customHeaders>
    </httpProtocol>
    <!--End clickjacking-->

Ce petit extrait ajoute un en-tête http appelé x-frame-options à vos réponses http et empêche votre site d'être chargé dans un iframe dans les navigateurs "modernes".
Il y a 3 valeurs possibles pour X-Frame-Options:

  1. REFUSER : n'autoriser aucun site à encadrer votre application
  2. SAMEORIGIN : autorise uniquement le même site d'application à encadrer
  3. ALLOW-FROM: autoriser uniquement un domaine spécifique à encadrer votre application
73
Musakkhir Sayyed

Essayez Script de rupture de trame de navigateur hérité le meilleur pour l'instant

Une façon de se défendre contre le détournement de clics consiste à inclure un script "frame-breaker" dans chaque page qui ne doit pas être encadrée. La méthodologie suivante empêchera une page Web d'être encadrée même dans les navigateurs hérités, qui ne prennent pas en charge l'en-tête X-Frame-Options.

Dans le document HEAD élément, ajoutez ce qui suit:

Appliquez d'abord un ID à l'élément de style lui-même:

<style id="antiClickjack">body{display:none !important;}</style>

Et puis supprimez ce style par son ID immédiatement après dans le script:

<script type="text/javascript">
   if (self === top) {
       var antiClickjack = document.getElementById("antiClickjack");
       antiClickjack.parentNode.removeChild(antiClickjack);
   } else {
       top.location = self.location;
   }
</script>
3
funkyCatz