티스토리 뷰

Computer/WEB Skills

[Cache] 언어별 캐쉬 방지(no-cache)

인생이글케쉬우냐 2009. 9. 28. 17:14

[출처] 언어별 캐쉬 방지(no-cache)|작성자 향기남자(http://blog.naver.com/aegisfight/100087199598)


캐쉬 방지 이유

 - 로그아웃한 후 뒤로가기 버튼 클릭 시 로그인 상태로 되돌아간다면 보안에 취약할 수 밖에 없으므로 사용자가 조금 불편하더라도 캐쉬를 방지하는게 낫다.

 

 HTML
<META http-equiv="Expires" content="-1">
<META http-equiv="Pragma" content="no-cache">
<META http-equiv="Cache-Control" content="No-Cache">

 

ASP  
<%  
Response.Expires = 0  
Response.AddHeader "Pragma","no-cache"  
Response.AddHeader "Cache-Control","no-cache,must-revalidate"  
%>  


JSP  
<%  
response.setHeader("Cache-Control","no-store");  
response.setHeader("Pragma","no-cache");  
response.setDateHeader("Expires",0);  
if (request.getProtocol().equals("HTTP/1.1"))
        response.setHeader("Cache-Control", "no-cache");
%>  


PHP  
<?  
header("Pragma: no-cache");  
header("Cache-Control: no-cache,must-revalidate");  
?>  


WML 
<wml> 
<head> 
<meta http-equiv="Cache-Control" content="max-age=no-cache" forua="true"/> 
<meta http-equiv="Cache-Control" content="must-revalidate" forua="true"/> 
</head> 
<card> 
.. 
.. 
</card> 
</wml> 


JSP의 사용예  
<%@ page contentType="text/vnd.wap.wml"%>  
<%  
response.setHeader("cache-control","no-store"); // http 1.1  
response.setHeader("Pragma","no-cache"); // http 1.0  
response.setDateHeader("Expires",0); // proxy server 에 cache방지.  
%> 

반응형