c# asp.net clickjacking

¿Cómo prevenir nuestro sitio web haciendo clickjacking en ASP.NET c#?



(2)

Pruebe el script de ruptura de marcos del navegador heredado Best-for-now

Una forma de defenderse contra el clickjacking es incluir un script "que rompa el marco" en cada página que no deba ser enmarcado. La siguiente metodología evitará que una página web se enmarque incluso en navegadores heredados, que no son compatibles con X-Frame-Options-Header.

En el documento elemento HEAD, agregue lo siguiente:

Primero aplique una identificación al propio elemento de estilo:

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

Y luego elimine ese estilo por su ID inmediatamente después en el script:

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

Esta pregunta ya tiene una respuesta aquí:

Tengo un sitio web dinámico en el que tengo que protegerme del ataque de clickjacking. En la base de datos que obtiene este tipo de valores mientras buscaba, sabía poco más sobre el clickjacking, pero es exactamente lo que no está obteniendo. Por favor, cualquiera que sepa ayudarme.


Opciones de X-FRAME

Agregue este código en el archivo global.asax.

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

O

simplemente agregue esto a <system.webServer> en su archivo Web.Config

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

Este pequeño fragmento de código agrega un encabezado http llamado x-frame-options a sus respuestas http y evita que su sitio se cargue en un iframe en los navegadores "modernos".
Hay 3 valores posibles para X-Frame-Options:

  1. NEGAR : no permitir que ningún sitio enmarque su solicitud
  2. SAMEORIGIN : solo permite el mismo sitio de aplicación para enmarcar
  3. ALLOW-FROM : solo permite un dominio específico para enmarcar su aplicación