우리 프로젝트에서 ASP.NET 고객은 ASP.NET Webform 4.0 응용 프로그램에서 "펜 테스트"를 실행하여 보안 문제는 우리가 고치기를 원합니다.ASP.NET Webforms - "페이지"에 대해서만 캐싱 사용 안 함, 정적 콘텐츠에 대해서는 없음
지금까지 가장 많은 토론을 유발 한 원인은 앱이 페이지와 콘텐츠를 캐시 할 수 있다는 것을 발견했기 때문입니다. 이로 인해 권한이없는 사용자가 볼 수없는 데이터가 표시 될 수 있습니다 ("펜 테스트" 발견은 대략 말한다). (가) "수정"을 제안
내 web.config
이를 추가하여 캐싱을 방지하기 위해 no-cache
에 cache-control
및 pragma
HTTP 헤더를 설정하는 것입니다 :
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Cache-Control" value="no-cache, no-store, must-revalidate, private"/>
<add name="Pragma" value="no-cache"/>
<add name="Expires" value="-1"/>
</customHeaders>
</httpProtocol>
</system.webServer>
하지만 전 세계적으로이 작업을 수행하기를 꺼려 조금 해요 - 응용 프로그램의 이미지, 자바 스크립트 및 CSS 파일의 캐싱도 해제되지 않습니까? 사이트 성능에 중대한 부정적인 영향을 미칠 수 있습니다.
"사이에"어떤 작업을 수행 할 수 있습니까? 실제 ASP.NET 페이지가 현재 데이터로 캐싱되지 않도록하고 정적 컨텐트는 계속 캐싱하지 않도록합니다. 그게 가능하다면, 이것을 성취하기 위해 어떤 헤더를 설정해야합니까?
감사합니다.