문제

서버의 시계가 클라이언트의 시계보다 앞서면 아래 코드가 작동합니까?

Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1))

편집하다:제가 묻는 이유는 웹 앱 중 하나에서 일부 사용자가 이전에 해당 컴퓨터를 사용한 사용자의 페이지(계좌 번호 등)를 보고 있다고 주장하기 때문입니다.그러나 우리는 이러한 일이 발생하는 것을 '방지'하기 위해 위와 다른 라인을 사용합니다.

도움이 되었습니까?

해결책

이 질문 웹페이지가 캐시되지 않았는지 확인하는 방법을 다룹니다.웹 페이지가 모든 브라우저에서 캐시되지 않도록 하려면 여러 속성을 설정해야 하는 것 같습니다.

다른 팁

양식 필드에 입력된 데이터를 브라우저가 기억하고 있기 때문에 문제가 발생할 수 있습니다.다음과 같이 이 기능을 끌 수 있습니다:

<input autocomplete="off">

내가 알 수 있는 한, 브라우저는 만료 날짜를 현지 시계와 비교하여 확인하므로(시간대를 고려하더라도) 클라이언트 시계가 정확하지 않은 경우 질문의 코드가 예상대로 작동하지 않을 수 있습니다.가장 일반적으로 이는 시간이 올바른 것처럼 보이지만 잘못된 시간대로 설정되어 UTC 타임스탬프가 실제로 몇 시간 차이가 난 경우에 발생합니다.

다음과 같이 훨씬 오래된 타임스탬프를 설정해 볼 수 있습니다.0000 1970년 1월 1일 GMT(시대)

나는 당신이 가지고 있는 코드가 서버 측 캐싱과 함께 작동해야 한다고 생각하지만 다음을 사용하여 더 명시적으로 비활성화할 수 있습니다.

Response.Cache.SetNoServerCaching();
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top