2012-02-24 5 views
0

현재 IE8에서 임의로 생성 된 해시를 작성하는 (숨겨진) 양식 필드를 캐시하기로 결정했으며이 또한 세션에 저장되는 문제에 직면하고 있습니다. 양식에서 보낸 해시가 세션에 저장된 해시와 같은 경우 양식 요청이 유효합니다.Internet Explorer 8에서 양식 데이터 캐싱을 방지합니다.

IE는 이러한 값을 캐시하기 때문에 양식에 전송 된 값은 세션에 저장된 값과 다릅니다. 어떻게 이런 일이 일어나지 않도록 할 수 있습니까?

<input type="hidden" name="hash" value="hash inserted here" autocomplete="off" /> 

그리고이 같은 형태의 태그 :

<form action="action uri" method="post" autocomplete="off"> 

답변

2

autocomplete 아무것도에 대한이 없습니다 나는

숨겨진 입력 필드는 다음과 같습니다 .. 분야와 <form> 요소 모두에서 autocomplete="off" 시도 브라우저 자체에서 페이지 자체가 캐싱됩니다.

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 
0

당신은 당신의 HTML의 HEAD 내부에이 코드를 넣을 수 있습니다 :

<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="Expires" CONTENT="-1"> 

를하거나 PHP 코드에서 화재의 제안을 사용

이를 사용하지 않도록 몇 가지 헤더를 설정할 수 있습니다.

관련 문제