2015-08-24 3 views
17

Ho un sito Web dinamico in cui devo fare un attacco sicuro da clickjacking. Nel database ottenendo questo tipo di valori durante la ricerca, sapevo poco di più sul clickjacking, ma è esattamente ciò che non lo è. Per favore, chiunque sappia mi aiuti.Come impedire il nostro sito web tramite Clickjacking in ASP.NET C#?

+0

Thomas is tha t l'unico modo per proteggere dall'attacco di clickjacking. Semplicemente aggiungendo file e codice asax globali. – shashank

risposta

3

Prova Best-for-now Legacy Browser Frame Breaking Script

Un modo per difendersi da clickjacking è quello di includere uno script di "frame-breaker" in ogni pagina che non deve essere inquadrata. La seguente metodologia impedirà che una pagina Web venga inquadrata anche nei browser legacy, che non supportano l'X-Frame-Options-Header.

Nel elemento del documento HEAD, aggiungere il seguente:

Prima applicare un ID per l'elemento dello stile stesso:

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

e quindi eliminare quello stile con il suo ID immediatamente dopo nello script:

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

È anche possibile aggiungere l'opzione X-Frame in Web.config o utilizzare il modo suggerito da Musakkhir. – funkyCatz

48

X-Frame-Options

Aggiungere questo codice nel file global.asax.

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

O

semplicemente aggiungere questo al <system.webServer> nel vostro Web.Config file di

<httpProtocol> 
    <customHeaders> 
    <add name="X-Frame-Options" value="DENY" /> 
    </customHeaders> 
</httpProtocol> 

Questo piccolo estratto aggiunge un'intestazione HTTP chiamati X-Frame-opzioni a vostra http risposte e impedisce che il tuo sito venga caricato in un iframe in browser "moderni".
Ci sono 3 possibili valori di X-Frame-Options:

  1. DENY: non consentire ad alcun sito per inquadrare la vostra applicazione
  2. SAMEORIGIN: solo consentire allo stesso sito di applicazione per inquadrare
  3. ALLOW-FROM: consente solo il dominio specifico per il frame dell'applicazione
+1

Sicuramente l'opzione migliore è in configurazione (y) – DanielV

+0

x-frame-options è deprecata e deve essere sostituita con content-security-policy (https://developer.mozilla.org/en-US/docs/Web/HTTP/ intestazioni/Content-Security-politica). Sembra che DENY funzioni ancora bene nella maggior parte dei browser, ma ALLOW-FROM è problematico. – HotN

Problemi correlati