2015-08-24 10 views
17

Ich habe eine dynamische Website, in der ich sicher von Clickjacking-Angriff machen muss. In der Datenbank, die diese Art von Werten während des Suchens erhält, wusste ich wenig mehr über Clickjacking, aber genau, was nicht so wird, bitte, jeder, der weiß, hilft mir aus.Wie verhindert man unsere Website durch Clickjacking in ASP.NET C#?

+0

Thomas ist tha t die einzige Möglichkeit, vor einem Clickjacking-Angriff zu schützen. Einfach durch Hinzufügen der globalen Asax-Datei und des Codes. – shashank

Antwort

3

Versuchen Best-for-now Legacy Browser Frame Breaking Script

Eine Möglichkeit, gegen Clickjacking zu verteidigen, ist ein „Frame-breaker“ Skript in jeder Seite enthalten, die nicht gerahmt werden sollte. Die folgende Methode verhindert, dass eine Webseite auch in älteren Browsern gerahmt wird, die den X-Frame-Options-Header nicht unterstützen.

In dem Dokument HEAD-Elemente, fügen Sie folgende:

zunächst eine ID an das Stilelement selbst gelten:

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

Und dann diesen Stil durch seine ID löscht unmittelbar nach dem im Skript:

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

Sie könnten auch X-Frame-Option in die Web.config hinzufügen, oder verwenden Sie die Art, wie Musakkhir vorgeschlagen. – funkyCatz

48

X-FRAME-Optionen

Fügen Sie diesen Code in der Datei global.asax hinzu.

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

ODER

einfach diese Datei

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

zu <system.webServer> in Ihrem Web.Config hinzufügen Dieses kleine Schnipsel fügt ein HTTP-Header namens X-Frame-Optionen zu Ihrem http Antworten und verhindert, dass Ihre Website in einem iframe in "modernen" Browsern geladen wird.
Es gibt drei Werte möglich X-Frame-Options:

  1. DENY: Sie keine Website zulassen Ihre Anwendung
  2. SAMEORIGIN einzurahmen: nur erlauben gleiche Applikationsstelle
  3. einzurahmen
  4. allow-FROM: nur bestimmte Domain erlauben, Ihre Anwendung zu gestalten
+1

Definitiv ist die beste Option in der Konfiguration (y) – DanielV

+0

x-frame-options ist veraltet und sollte durch content-security-policy ersetzt werden (https://developer.mozilla.org/en-US/docs/Web/HTTP/ Header/Inhaltssicherheitsrichtlinie). Es scheint, dass DENY immer noch gut in den meisten Browsern funktioniert, aber ALLOW-FROM ist problematisch. – HotN

Verwandte Themen