X-Powered-By: ASP와 같은 IIS 사용자 정의 헤더를 삭제하는 방법응답에서 NET?
인IIS 7.0
integrated mode
모든 헤더를 삭제한 후Response.ClearHeaders()
IIS는 다음과 같은 다른 헤더를 추가합니다.Server
그리고.X-Powered-By
해커들에게 좋은 정보를 알려주는 것입니다.사용자 지정 헤더를 추가해야 하는 경우 이 동작을 중지하려면 어떻게 해야 합니까?
웹에 추가할 수 있습니다.구성:
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>
</system.webServer>
업데이트: 만약 당신이 MVC 프레임워크를 사용하고 있다면, 나는 또한 제거하는 것을 추천합니다.X-AspNetMvc-Version
그리고.X-AspNet-Version
헤더도 포함합니다.이 작업은 다음을 설정하여 수행합니다.MvcHandler.DisableMvcResponseHeader = true
당신의Global.asax
파일 및<system.web><httpRuntime enableVersionHeader="false" /></system.web>
당신의Web.config
각각 다음과 같다.
그X-Powered-By
는 IIS 내에서 구성됩니다.Windows 7(윈도우 7)에서는 특히 다음과 같습니다.
- IIS 관리자
- 컴퓨터 이름 > 사이트 > 기본 웹 사이트
- HTTP 응답 헤더
- 제거한다.
X-Powered-By
나는 무엇이 생성하는지 확신할 수 없습니다.Server
그래도 헤딩은.
IIS7+ 통합 모드의 경우 eth0은 다음과 같습니다.<customHeaders>
web.config에 태그가 있습니다.감사합니다."서버" 헤더의 경우 MVC를 사용하는 경우 다음을 간단히 추가할 수 있습니다.
protected void Application_PreSendRequestHeaders()
{
Response.Headers.Remove("Server");
}
Global.asax의 MvcApplication 클래스로 이동합니다.그렇지 않으면 사용자 지정 Http 모듈을 추가하여 PreSendRequest를 처리할 수 있습니다.헤더 이벤트 및 동일한 작업을 수행합니다.
ASP를 위해 여기에 그것을 추가하고 싶습니다.더 이상 web.config 파일이 없는 NET Core 버전은 다른 접근 방식이 필요합니다.
ASP에서 헤더를 제거하기 위해 다음과 같이 조정했습니다.NET Core 2.1:
x-powered-by 헤더는 다음과 같이 대체하여 제거할 수 있습니다.
<customHeaders>
<clear />
<add name="X-Powered-By" value="ASP.NET" />
</customHeaders>
와 함께
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
프로젝트의 .vs\config 폴더에 있는 applicationhost.config 파일에 있습니다.
다음을 추가하여 서버 헤더를 제거할 수 있습니다.
.UseKestrel(c => c.AddServerHeader = false)
Program.cs 파일에 있습니다.
다음 답변에는 URLscan 또는 사용자 지정 HttpModule이 필요하지 않고 사용자가 언급한 모든 관련 헤더를 제거하는 전체 솔루션이 포함되어 있습니다.Azure에서도 작동합니다.
Azure/에서 과도한 HTTP 응답 헤더 제거/숨기기/사용 안 함UrlScan이 없는 IIS7
URL을 사용하여 서버 헤더를 제거하거나 다른 서버 헤더인 http://learn.iis.net/page.aspx/938/urlscan-3-reference/ 을 구성할 수 있습니다.
하지만 해커가 실제로 무엇을 사용하는지 아는 것을 막지는 못합니다.서버 정보를 탐지할 수 있는 다른 방법이 분명히 있습니다.
appcmd.exe(IIS 7 이상)를 사용하여 작업을 수행할 수 있습니다.스크립트는 다음과 같습니다.
C:\Windows\System32\inetsrv\appcmd.exe set config -section:system.webserver/httpProtocol /-customHeaders.["name='X-Powered-By'"] /commit:apphost
/commit:apphost
그러면 구성 설정이 ApplicationHost.config 파일의 해당 위치 섹션에 커밋됩니다.
저는 보통 애플리케이션이 설치된 후 웹 서버에서 실행하는 모든 스크립트의 배치 파일을 만듭니다.
ASP용.NET MVC 애플리케이션은 접근 방식이 다르며 여기에 제시된 다른 답변을 참조할 수 있습니다.
언급URL : https://stackoverflow.com/questions/4078756/how-to-delete-iis-custom-headers-like-x-powered-by-asp-net-from-response
'programing' 카테고리의 다른 글
Twitter 부트스트랩의 트리 (0) | 2023.08.18 |
---|---|
이 평균 가격 루프를 더 빠르게 수행할 수 있는 방법이 있습니까? (0) | 2023.08.18 |
Ajax를 사용하여 테이블 내용을 새로 고친 후 데이터 테이블을 다시 그리시겠습니까? (0) | 2023.08.18 |
PHP에서 모호하고 잘못된 날짜 시간을 탐지하는 방법은 무엇입니까? (0) | 2023.08.18 |
Node.js를 Maria에 연결할 수 없습니다.DB (0) | 2023.08.18 |