2015-08-24 3 views
17

У меня есть динамический веб-сайт, в котором я должен сделать защиту от атаки на клик. В базе данных, получающей эти типы значений во время поиска, я знал немного больше о clickjacking, но именно это не так. Пожалуйста, любой, кто знает, поможет мне.Как предотвратить наш сайт путем Clickjacking в ASP.NET C#?

+0

Thomas is tha t единственный способ защитить от атаки на клик. Просто добавив глобальный файл и код asax. – shashank

ответ

3

Попробуйте Best-for-now Legacy Browser Frame Breaking Script

Одним из способов защиты от ClickJacking должен включать «каркасно-прерыватель» сценарий на каждой странице, которая не должна быть обрамлении. Следующая методология предотвратит создание веб-страницы даже в старых браузерах, которые не поддерживают X-Frame-Options-Header.

В элементе документа HEAD, добавьте следующее:

Сначала применить идентификатор самого стиля элемента:

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

И затем удалить этот стиль по идентификатору сразу после того, как в сценарии:

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

Вы также можете добавить X-Frame-вариант в Web.config или использовать способ, предложенный Мусакхиром. – funkyCatz

48

X-FRAME-Options

Добавьте этот код в файл global.asax.

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

ИЛИ

просто добавьте в <system.webServer> в вашем Web.Config файл

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

Этот небольшой фрагмент кода добавляет заголовок HTTP называемые рентгеновские каркасно-опции для вашего HTTP ответы и предотвращает загрузку вашего сайта в iframe в «современных» браузерах.
Есть 3 значения возможных для X-Frame-Options:

  1. ОТРИЦАТЬ: не позволяют любой сайт в кадр приложения
  2. SAMEORIGIN: только позволяют тот же сайт приложения к кадру
  3. ALLOW-FROM: разрешить конкретный домен для подачи заявки
+1

Определенно лучший вариант в конфигурации (y) – DanielV

+0

x-frame-options устарел и должен быть заменен политикой безопасности контента (https://developer.mozilla.org/en-US/docs/Web/HTTP/ Заголовки/Content-Security-Policy). Кажется, что DENY все еще отлично работает в большинстве браузеров, но ALLOW-FROM проблематично. – HotN