캐시 된 자바 스크립트 코드를 새로 고침, I()는 웹 서비스를 몇 초마다 ping을하여 setInterval을 사용하여 생산 포함 된 자바 스크립트에 페이지를 배포했습니다. 다음과 같이 동작을 요약 할 수 있습니다.
upcomingEvents.aspx 페이지의 Javascript는 hitWebService.js 파일에있는 hitWebService() 함수를 호출합니다.
X 간격 값이 너무 작아서 hitWebService(), hitWebService.js 파일 자체 및 도달하려고 시도한 웹 서비스에 대한 참조가 모두 제거되었습니다.
정상적인 IP 주소에서 웹 서비스를 시작하려는 시도가 중단되었지만 프록시 서비스를 사용하는 많은 사용자로부터 조회가 시도되고 있습니다.
필자의 이론은 내 다가오는 Events.aspx와 hitWebService.js가 프록시 서비스에 의해 캐시되었다는 것입니다. 실제로 사용자가 오류 페이지를 클릭하면 리퍼러 문자열을 기록 할 때마다 (이 사용자 중 하나가 여기로 리디렉션됩니다) 곧 출시 될 Events.aspx에서 참조됩니다.
이 웹 서비스를 공격하면 IIS 로그가 불편할 정도로 채워지고 서버에서 불필요한 트래픽이 발생하는 것이 문제입니다. 콘텐츠 즉시 만료 그래서 내가 hitWebService.js 파일을 삭제
- 제거 웹 서비스를 완전히
- 시도 무엇
은 또한 IIS에 더미 파일로
- 변경된 내용 만료를 교체
- 페이지의 .vb 코드 숨김에 Response.Cache.SetCacheability (HttpCacheability.NoCache)를 추가했습니다.
- 완전히 변경된 사이트 재 게시
- IIS를 다시 시작하고 IIS를 중지했다가 시작했습니다.
재미있는 비트
나는 등의 세션 세부 사항을 기록하는 UpcomingEvents.apsx에 VB에서 코드 숨김을 변경할 수 있으며 프록시 서비스 사용자를위한 거의 즉시 업데이트 할 것질문 사항
제 이론이 정확하고 프록시 서비 어, 실제로 hitWebService.js 및 upcomingEvents.aspx 파일을 캐싱하고 있습니다. 위의 전략이 효과가 없다고 생각하여 코드 새로 고침을 강제로 수행 할 수있는 다른 경로가 있습니까? 내 경우