我正在嘗試從 ServerVariables 中洗掉 SERVER_SOFTWARE 以實作安全性/ PCI 合規性。我們在 Win Server 2012 R2 Standard 上運行 IIS 8.5。
我看到了這個,但它正在修改 web.config。主機標頭 (SERVER:) 和 URL 重寫
我嘗試使用“Header unset SOFTWARE”,但我認為它沒有被正確呼叫,我無法弄清楚正確的設定。我們正在使用 Helicon ISAPI_Rewrite 3.1 版。
這可以通過 HTACCESS 完成嗎?
我還嘗試在這里執行 URL_REWRITE:https ://port135.com/change-remove-response-headers/ 我添加了 RESPONSE_Server 變數,但它仍然顯示 SERVER_SOFTWARE = Microsoft-IIS/8.5
謝謝。
uj5u.com熱心網友回復:
.htaccess
在 IIS中,相當于web.config
. 我不認為它可以通過 HTACCESS 完成。
我建議您嘗試使用自定義模塊來清理應用內標頭:
public class HeadersCleanupModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.PostReleaseRequestState = application_PostReleaseRequestState;
}
void application_PostReleaseRequestState(object sender, EventArgs e)
{
HttpContext.Current.Response.Headers.Remove("Server");
HttpContext.Current.Response.Headers.Remove("X-AspNet-Version");
HttpContext.Current.Response.Headers.Remove("ETag");
}
}
將它放在你的 web 專案的根目錄中,并在 Web.config 中注冊模塊:
<system.webServer>
<modules>
<add name="HeadersCleanupModule" type="WebApp.HeadersCleanupModule" />
</modules>
希望這可以幫到你。
uj5u.com熱心網友回復:
看起來我解決了這個問題。對于發現此問題的任何人,我只是洗掉了所有內容并在 web.config 中手動將其放回原處,作為 system.webServer 中的第一個專案 - 它無法使用 URL 重寫。注意 - 我試圖用“0”替換,但這也可能是問題的一部分,不確定。這個 EXACT web.config 文本有效:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<outboundRules rewriteBeforeCache="true">
<rule name="Remove Server header">
<match serverVariable="RESPONSE_Server" pattern=". " />
<action type="Rewrite" value="" />
</rule>
</outboundRules>
</rewrite>
</system.webServer>
</configuration>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/496737.html
標籤:.htaccess windows-server-2012-r2 iis-8.5 螺旋科技
上一篇:Chartjs3圓環圖圓角
下一篇:文字出現影片