Scott Mitchell bietet in einem Blogbeitrag Lösungen für removing unnecessary headers.
Wie bereits hier in anderen Antworten gesagt, gibt es für die Server
Kopfzeile das http module solution oder das UrlScan Modul. (URLScan-Modul ist nicht mehr in IIS7.5 + verfügbar Verwenden URLRewrite instead for blanking it..)
Für X-AspNet-Version
und X-AspNetMvc-Version
, er bietet einen besseren Weg, als sie auf jeder Antwort zu entfernen: einfach nicht, sie überhaupt zu erzeugen.
Verwenden enableVersionHeader
für X-AspNet-Version
zu deaktivieren, in web.config
<httpRuntime enableVersionHeader="false" />
Verwenden MvcHandler.DisableMvcResponseHeader
in Event .Net Application_Start für X-AspNetMvc-Version
MvcHandler.DisableMvcResponseHeader = true;
deaktivieren und schließlich die X-Powered-By
benutzerdefinierten Header in IIS-Konfiguration entfernen.
Vergessen Sie nicht, dass die Lösung nach Anwendungscode nicht standardmäßig auf Header auf statischen Inhalt (Sie können die runAllManagedModulesForAllRequests
aktivieren, um das zu ändern, aber es bewirkt, dass alle Anfragen zu laufen. Net-Pipeline) gelten. Es ist kein Problem für X-AspNetMvc-Version
, da es nicht auf statischen Inhalt hinzugefügt wird (zumindest wenn statische Anforderung nicht in .Net-Pipeline ausgeführt werden).
Randbemerkung: wenn das Ziel verwendete Technologie zum Tarnen ist, sollten Sie auch Standard-.Net-Cookie-Namen ändern (.ASPXAUTH
wenn Formulare Auth aktiviert (Verwendung name
Attribut auf forms
Tag in web.config), ASP.NET_SessionId
(verwenden <sessionState cookieName="yourName" />
in web .config unter system.web
Tag), __RequestVerificationToken
(ändern Sie es durch Code mit AntiForgeryConfig.CookieName
, aber leider nicht für die versteckte Eingabe, die dieses System im HTML generiert)).
See werden: http://stackoverflow.com/questions/22401219/remove-server-response-header-iis-8-0-8-5#39472251 –