SORU
9 EKİM 2012, Salı


Kaldırma/Gizleme/Azure aşırı HTTP yanıt başlıklarını Devre dışı bırakma IIS7/bağlantı noktaları olmadan

excessive headers (öncelikle penetrasyon testi geçmek) kaldırmak istiyorum. Zaman çalışan bağlantı noktaları içeren çözümleri bakarak geçirdim, ama bu UrlScan needs to be installed each time an Azure instance is started olarak zahmetlidir.

Başlangıçta dağıtma yükleyiciler içermeyen Azure için iyi bir çözüm olmalı.cmd.

Yanıt başlıkları different places eklenen anlıyorum:

  • Server: IIS. tarafından eklendi
  • X-AspNet-Version: HttpResponse sınıfı . Floş zaman System.Web.dll tarafından eklendi
  • X-AspNetMvc-Version: System.web.dll. MvcHandler tarafından eklendi
  • X-Powered-By: IIS . tarafından eklendi

Herhangi bir şekilde yapılandırmak (via web.var.? config vb) IIS7 kaldırmak/gizlemek/devre dışı bırakmak HTTP yanıt başlıklarını engellemek için "Aşırı Başlıklarını" uyarısı asafaweb.com olmadan oluşturarak bir IIS modülü veya dağıtma yükleyiciler edilecek çalıştırmak her zaman Masmavi bir örneğini başlatır?

CEVAP
9 EKİM 2012, Salı


Aşağıdaki değişiklikleri Azure bu HTTP yanıt başlıklarını kaldırmak için izin verirolmadanözel bir yazı Http.

Net bilgilerin çoğu güncel değil, bağlantı noktaları beri ama RemoveServerHeader=1 seçeneği kaldırılmış IIS7, entegre edilmiş () içerir. Aşağıda buldum etkileyicisi çözüm (this blog, this answer this blog kombine için teşekkürler).

Kaldırmak içinServerKüresel gidin.asax,/Application_PreSendRequestHeaders etkinlik oluşturun ve aşağıdaki (Cassini / yerel dev başarısız olmaz bu BK this blog sayesinde) Ekle

Yerel IIS modülleri ile PreSendRequestHeaders ve PreSendRequestContext olayları kullanabilirsiniz, ama IHttpModule uygulayan yönetilen modülleri ile onları kullanmayın. Nisan 2014 düzenlenebilir: Bu özellikleri ayarlama asynchronous requests ile sorunlara neden olabilir. Doğru sürümü BeginRequest olay kullanmaktır.

    protected void Application_BeginRequest(object sender, EventArgs e)
    {
        var application = sender as HttpApplication;
        if (application != null && application.Context != null)
        {
            application.Context.Response.Headers.Remove("Server");
        }
    }

Kaldırmak içinX-AspNet-Version, web.config/<system.web> oluşturun ve ekleyin

  <system.web>
    <httpRuntime enableVersionHeader="false" />

    ...

Kaldırmak içinX-AspNetMvc-VersionKüresel gidin.asax,/Application_Start etkinlik oluşturun ve aşağıdaki gibi bir satır ekleyin bulabilirsiniz

  protected void Application_Start()
  {
      MvcHandler.DisableMvcResponseHeader = true;
  }

Kaldırmak içinX-Powered-By, web.config/<system.webServer> oluşturun ve ekleyin

  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <remove name="X-Powered-By" />
      </customHeaders>
    </httpProtocol>

    ...

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • cdgotx

    cdgotx

    8 Kasım 2011
  • julioissk84life

    julioissk84l

    18 ŞUBAT 2008
  • stewmurray47

    stewmurray47

    1 Kasım 2006