끊어지지 않는 세션 만들기 > 기술자료 | 해피정닷컴

끊어지지 않는 세션 만들기 > 기술자료

본문 바로가기

사이트 내 전체검색

끊어지지 않는 세션 만들기 > 기술자료

ClassicASP 끊어지지 않는 세션 만들기

페이지 정보


본문

< 방법 1 : 2008-11-26 작성  /  2013-05-28 수정 >

index_no.asp 만들기
세션이 종료되지 않는 페이지를 만드는 방법은 다음과 같습니다.
meta 태그를 이용하여 20분 이전( 19분 = 19x60 = 1140초 )에 다시 페이지를 읽어 할당합니다.

우선 해당 페이지는 프레임으로 구성되어 있어야 합니다.
통으로 되어있는 페이지라면 default_no.asp 파일이 위치할 수 있도록 프레임을 하나 제작합니다.
프레임을 나누는 페이지를 default.asp라 하고, 실제 세션을 유지하는 페이지를 default_no.asp로 하겠습니다.

● index_no.asp ----------------------------------------------
<%@Language=VBscript%>
<%
no = request("no") + 1

name = Request("name")
userid = Request("userid")

if userid = Request.Cookies("userid") then
  Session("name") = Request.Cookies("name")
  Session("userid") = Request("userid")
else
  Session.Abandon
end if
%>
<html>
<head>
<meta http-equiv="refresh" content="1140; url=index_no.asp?userid=<%=Session("userid")%>&amp;name=<%=Session("name")%>&no=<% response.write no %>" />
<!-- 테스트 할때는 아래꺼로  1초마다 reflash 해서 브라우저 시간을 확인함
<meta http-equiv="refresh" content="1; url=index_no.asp?userid=<%=Session("userid")%>&amp;name=<%=Session("name")%>&no=<% response.write no %>" />
-->
<style>
body, td { font-size:7px; line-height:7px; }
</style>
</head>

<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td align="right"><% response.write no %></td></tr></table>
</body>


● index.asp ----------------------------------------------
<%@Language=VBScript%>
<html>
<head>
 <title>Neovis's ASP</title>
</head>

<frameset rows="*, 0" frameborder="no" border="0" framespacing="0">
  <frame name="main" noresize scrolling="auto" src="main.asp" marginwidth="0" marginheight="0" frameborder="no" />
  <frame name="session" scrolling="no" noresize src="index_no.asp?name=<%=Session("name")%>&amp;userid=<%=Session("userid")%>" marginwidth="0" marginheight="0" frameborder="no" />
</frameset>

<noframes>
  <body>
  </body>
</noframes>
</html>

** 방법1 주의 **
클라이언트 컴퓨터에 해킹등으로 이유로 세션이 탈취되는경우 로그인 세션정보가 노출될  있습니다.


< 방법 2 : 2013-05-27 추가 >

아래와 같이 index_no.asp 파일에는 아무 내용도 없고 단지 900초마다 리프레쉬를 하는 메타태그가 들어 있을 뿐이다.
바로 숨어 있는 프레임속에 있는 파일이지만 이 소스는 굉장히 중요한 역할을 하게 된다.
위와같이 숨기프레임에서 900초마다 리프레쉬를 시키게 되면, 사용자는 브라우저를 끄지 않는이상은 세션이 종료될일은 없다.

한가지 의문이 생긴다???
왜 900초인가???

잊지 말아야 할 것이 있다. 20분에 60초면 1200초이여야 한다고 생각하시는 분들이 계시리라 생각을 한다.
네트워크환경임을 잊어서는 안된다. 정확하게 1200초가 아니다. 세션이 유지되는 시간 20분은 서버쪽의 20분이고 위의 메타태그가 사용하는 1200초는 클라이언트쪽의 시간임을 상기해보도록 하자.
1119초를 한다고 해서 1초만에 리프레쉬를 시켜주는 것은 아니다.
항상 네트워크는 불안하기 때문에 좀더 시간적인 여유를 메타태그에게 안겨주어야 한다.

● index_no.asp ----------------------------------------------
<%@Language=VBscript%>
<%
no = request("no") + 1
%>
<html>
<head>
<meta http-equiv="refresh" content="900; url=./index_no.asp" />
<!-- 테스트 할때는 아래꺼로  1초마다 reflash 해서 브라우저 시간을 확인함
<meta http-equiv="refresh" content="1; url=./index_no.asp" />
-->
<style>
body, td { font-size:7px; line-height:7px; }
</style>
</head>

<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td align="right"><% response.write no %></td></tr></table>
</body>
</html>

● index.asp ----------------------------------------------
<% @Language=VBScript %>
<html>
<head>
 <title>하야시 ASP</title>
</head>

<frameset rows="*, 7px" frameborder="no" border="0" framespacing="0">
  <frame name="main" noresize scrolling="auto" src="main.asp" marginwidth="0" marginheight="0" frameborder="no" />
  <frame name="session" scrolling="no" noresize src="index_no.asp" marginwidth="0" marginheight="0" frameborder="no" />
</frameset>

<noframes>
  <body>
  </body>
</noframes>
</html>

** 방법2 주의 **
세션이 연결안되고 종료되는 현상 확인됨, 꼭 20분간 브라우저를 확인해서 점검필요함


< 방법 3 : 2013-05-28 추가 >
● index.asp --- 로그인 화면

● login_ok.asp --- 로그인 처리
<%
response.redirect "index2.asp"   ' 로그인 세션 생성후 redirect
%>

● main.asp  -- 회원용 메인

● index_no.asp ----------------------------------------------
<%@Language=VBscript%>
<%
no = request("no") + 1
name = Request("name")
userid = Request("userid")

if Session("member_id") <> "" then
  member_id = Session("member_id")
  userid = Session("member_id")
  Session("member_id") = userid
end if
%>
<html>
<head>
<meta http-equiv="refresh" content="1; url=./index_no.asp?userid=<%=Session("member_id")%>">
<style>
body, td { font-size:7px; line-height:7px; }
</style>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td align="right">20 / <% response.write no %> / <%=Session("member_id")%> / <% response.write userid %></td></tr></table>
</body>
</html>


● index2.asp ----------------------------------------------
<html>
<head>
 <title>해피정닷컴</title>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
</head>

<frameset rows="*, 7px" frameborder="no" border="0" framespacing="0">
  <frame name="main" noresize scrolling="auto" src="main.asp" marginwidth="0" marginheight="0" frameborder="no">
  <frame name="session" scrolling="no" noresize src="index_no.asp" marginwidth="0" marginheight="0" frameborder="no" />
</frameset>



참고사이트
http://itking.tistory.com/677
http://www.waglwagl.net/Front/Lesson/LessonCheck.aspx?MenuId=1002&Pid=515

댓글목록

등록된 댓글이 없습니다.


Total 198건 7 페이지
  • RSS
기술자료 목록
78
ClassicASP   11270  2009-01-30 20:17  
77
ClassicASP   14230  2009-01-28 11:09 ~ 2015-01-31 00:00  
76
ClassicASP   12543  2009-01-23 14:41 ~ 2009-01-23 00:00  
75
ClassicASP   20614  2009-01-22 19:33  
74
ClassicASP   24136  2009-01-22 19:28  
73
ClassicASP   23668  2009-01-20 21:48  
72
ClassicASP   18863  2009-01-20 11:09 ~ 2016-10-21 00:00  
71
ClassicASP   18780  2009-01-20 08:35  
70
ClassicASP   11681  2009-01-19 16:27  
69
ClassicASP   21054  2009-01-16 19:22 ~ 2009-01-29 00:00  
68
ClassicASP   10185  2009-01-13 10:54  
67
ClassicASP   18634  2009-01-05 20:09 ~ 1970-01-01 09:00  
66
ClassicASP   13989  2008-12-31 05:55  
65
ClassicASP   11817  2008-12-11 17:35 ~ 2009-10-08 00:00  
64
ClassicASP   10507  2008-11-29 14:44  
63
ClassicASP   14624  2008-11-29 14:41 ~ 2012-06-09 00:00  
열람
ClassicASP   17395  2008-11-26 23:02  
61
ClassicASP   13556  2008-08-25 20:42  
60
ClassicASP   17258  2008-08-25 18:06  
59
ClassicASP   27016  2008-08-02 18:01 ~ 2016-10-21 00:00  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.