용오름체험휴양마을영농조합법인 / 홍천 용오름캠핑장 팸투어 다녀왔어요.

용오름체험휴양마을영농조합법인 / 홍천 용오름캠핑장 팸투어 다녀왔어요. 강원도 홍천 서석면에 위치해있으며 1급수 용오름계곡 바로 옆에 있습니다.홍천군 1등 마을로 마을에서 직접 관리하는 용오름캠핑장,펜션 10개를 운영하고 있으며 각종 모임이 가능하도록 식당,회의실,야외무대가 설치되어 있습니다.홍천군 1등 마을답게 캠핑장,펜션 마을 전지역 wi-fi 사용이 가능하며 매년 봄 팸투어 실시, 여름엔 마을에서 재배한 홉으로 직접만든 맥주축제,마리소리 음악축제 를 열고 있습니다.계곡의 경우 수심이 다양하여 다이빙 포인트가 2곳이 있으며 아이들이 안전하게 물놀이를 할 수 있는 곳도 여러 곳 있습니다. 홍천 용오름캠핑장 팸투어 다녀왔어요. 요즘은 농산촌체험마을에서 캠핑과 여러프로그램을 같이 하는 곳이 추세더라고요. 아미산이 둘러쌓인 청정계곡이 흐르는 아름다운 용오름체험휴양마을 에서 운영하는 홍천 용오름캠핑장 팸투어 다녀왔어요. 테크 앞 강이... 붕어빵 가족의 담너머 세상구경 https://m.blog.naver.com/1092119/220711235599 가을여행-홍천여행- 홍천 용오름 마을 첫째날 여행의 계절 가을입니다. 요즘 저희는 강원도에 꽃힌 상태인지라...카페 행복한 이티씨와 함께하는 홍천 용오름 마을 1박2일 체험에 참가를 하였답니다! 평소 체험 시간보다 조금 늦은 출발을 해서 차가 밀리지 않으려나... 귀여운 단지 https://m.blog.naver.com/sanguidan/50181593653 용오름마을 캠핑장 여름휴가의 시즌이다.. 강원도의 계곡과 시원함을 만끽하기 위해 캠핑장을 검색하다 우연히 알게 된 홍천의 용오름 캠핑장.. 성수기라 캠핑장 요금들이 사악하다 용오름캠핑장 옆엔 해미르 캠핑장이 있는데... ★살로몬의 잇츠캠핑★ https://m.blog.naver.com/freeguy9040/20163628934 맥주효모로 만든 용오름맥주마을 바쏘 맥주샴푸와 맥주마스크팩... 1988년까지 맥주 원료인

PHP Cookie / Session 생성 및 초기화

PHP Cookie / Session 생성 및 초기화

[ Cookie 발급 및 초기화 ]

[ /var/www/html/login.php ] - http://192.168.6.123/login.php 웹 페이지 소스코드

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 "pass" , "user2" = > "1234" ) ; // 인덱스명 : 아이디 / 요소값 : 비밀번호 / " DB역할 수행중 " if ( isset ( $_REQUEST [id] ) & & isset ( $_REQUEST [pw] )) { //id와 pw가 존재한다면? = 아이디와 비밀번호를 입력했다면? if ( $user_info [ $_REQUEST [id] ] = = = $_REQUEST [pw] ) { //$user_info배열의 인덱스와 요소값과 일치하자면? // 인증토큰(쿠키)을 발행해주자 setcookie( "id" , $_REQUEST [id], time () + 86300 , "/" ); // 쿠키의 id를 $_REQUEST[id] 라는 값으로 초기화 setcookie( "login_time" , time (), time () + 86300 , "/" ); // 쿠키의 login_time을 현재시간으로 초기화 setcookie( "token" , md5 ( $_REQUEST [pw]), time () + 86300 , "/" ); // 쿠키의 token을 비밀번호의 해쉬값으로 초기화 echo " alert('login success'); " ; } else { // 아이디와 비밀번호가 일치하지 않는다 echo " alert('login failed');" ; } echo '' ; // 새로고침 } else { if ( ! isset ( $_COOKIE [id]) & & ! isset ( $_COOKIE [login_time]) & & ! isset ( $_COOKIE [token]) ){ // 웹 브라우저에 쿠키값이 존재하지 않으면 HTML소스코드 화면에 출력 ?> < !doctype html > < html > < head > < body > < form method = POST action = login.php > ID : < input type = "text" name = "id" / >< br/ > PASSWORD :< input type = "password" name = "pw" / >< br/ > < input type = "submit" value = "Login" / > " ; echo " Logout " ; } } ?> Colored by Color Scripter cs

[ /var/www/html/logout.php ] - http://192.168.6.123/logout.php 웹 페이지 소스코드

1 2 3 4 5 6 7 8 9 10 11 사용x setcookie( "token" , '' , time () - 99999999 , "/" ); // 적용범위 : root ?> < meta http-equiv = "refresh" content = "0;url=http://192.168.6.123/login.php" / > // cs

[ login.php 실행화면 ]

아이디와 패스워드를 올바르게 입력하여야 웹 페이지에 접속할 수 있습니다

$user_info 배열에 저장되어 있는 값에 맞는 값을 입력해야 접속할 수 있습니다 ( DB역할을 해주고 있다 )

[ 웹 페이지에 cookie값 존재 ]

로그인이 되어서 쿠키가 발행된 상태입니다

쿠키가 존재하기 때문에 이전 페이지 화면과는 다른 화면이 출력됩니다

=> 쿠키가 있기 때문에 해당 사용자임을 인증하고, 또다시 로그인을 하지않는 편의성을 제공한다

로그아웃 버튼을 누르면 쿠키값들이 초기화됩니다

[ logout 클릭 => 쿠키 삭제 ]

쿠키값이 사라졌으므로 다시 로그인 하기위한 입력창이 화면에 출력됩니다

[ 와이어샤크 캡쳐화면 ]

[ 서버 -> 클라이언트 응답 패킷 ]

1> 클라이언트가 웹 페이지에 아이디와 비밀번호를 입력하고 접속합니다

2> 서버는 해당 정보가 맞는지 확인하고 쿠키값을 발행합니다

3> HTTP 헤더에 Set-Cookie 필드를 이용해서 사용자에게 전달한다

4> 쿠키값은 웹 브라우저에 저장됩니다

[ 클라이언트 -> 서버 웹 페이지 재요청 ]

1> 위에서 웹 브라우저에 한번 로그인 해서 쿠키값을 발행하였습니다 => 웹 브라우저에 쿠키값이 남아있다

2> 새로고침하여 다시 웹 브라우저를 서버에게 요청하면서 Cookie필드에 쿠키값을 넣어서 서버로 전송한다

3> 해당 쿠키값이 서버에 저장되어있는 값과 일치하다면 로그인 되어진다

* 서버에서 클라이언트에게 쿠키를 발행한다

* 쿠키의 만료기간 전에 다음 로그인 시 클라이언트에서 서버에게 HTTP헤더에 쿠키값을 보내서 인증한다

=> 쿠키값으로만 인증하여 로그인이 이루어지는 방식

* 브라우저 콘솔창에서 document.cookie 에 쿠키값이 저장되어 있음을 확인할 수 있다

* 단점

1) 사용자의 개인 정보가 로컬 컴퓨터에 남는다

2) 쿠키의 유효기간동안에는 재인증없이 사용이 가능

=> 쿠키값이 타인에게 노출되면 악용이 가능하다

[ Session 생성 및 초기화 ]

< 세션관련함수 > - session_xxxx

1> session_start() : 새로운 세션을 생성한다 세션을 사용하는 곳에서는 무조건 제일 먼저 사용되어져야 한다 2> 세션아이디가 쿠키를 통해서 발급된다 3> $_SESSION : 세션에 사용자 정보를 저장한다 사용자정보은 $_SESSION변수를 통해서 관리된다

[ /var/www/html/login.php ] - http://192.168.6.123/login.php 웹 페이지 소스코드

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 "pass" , "user2" = > "1234" ); // 인덱스명 : 아이디 / 요소값 : 비밀번호 if ( isset ( $_REQUEST [id] ) & & isset ( $_REQUEST [pw] )) { //id와 pw가 존재한다면? = 아이디와 비밀번호를 입력했다면? if ( $user_info [ $_REQUEST [id] ] = = = $_REQUEST [pw] ) { //$user_info배열의 인덱스와 요소값과 일치하자면? $_SESSION [id] = $_REQUEST [id]; $_SESSION [login_time] = date( 'Y-m-d' ); echo " alert('login success'); " ; } else { // 아이디와 비밀번호가 일치하지 않는다 echo " alert('login failed');" ; } echo '' ; // 새로고침 } else { // 로그인 하기 전, $_REQUEST변수에 아이디와 비밀번호가 저장되기 전 echo "Cookie : " ; print_r( $_COOKIE ); echo "" ; echo "Session : " ; print_r( $_SESSION ); if ( ! isset ( $_SESSION [id] & & ! isset ( $_SESSION [login_time]) ){ // 세션의 id와 login_time이 존재하지 않으면 아래 HTML코드를 화면에 출력 ?> < !doctype html > < html > < head > < / head > < body > < form method = POST action = login.php > ID : < input type = "text" name = "id" / > < br/ > PASSWORD : < input type = "password" name = "pw" / > < br/ > < input type = "submit" value = "Login" / > < / form > < / body > < / html > " ; echo " Logout " ; } } ?>

[ /var/www/html/logout.php ] - http://192.168.6.123/logout.php 웹 페이지 소스코드

1 2 3 4 5 6 7 8 9 10 11 12 < meta http-equiv = "refresh" content = "0;url=http://192.168.6.123/login.php" / > Colored by Color Scripter cs

[ 웹 페이지 출력화면 ]

아이디와 패스워드 입력하면 위의 화면처럼 쿠키와 세션에 사용자 정보가 저장되어진다

아이디는 user1 비밀번호는 pass로 로그인했던 정보가 세션에 저장되어집니다

* 세션을 사용한 사용자 인증

- 쿠키의 단점을 보완

- 사용자 정보를 클라이언트가 아닌 서버에 저장한다

- 서버는 쿠키를 통해서 클라이언트에게 전달 ( document.cookie에 세션아이디가 저장된다 )

- 웹 브라우저에는 세션아이디만 저장됨 - document.cookie = 세션아이디

- 세션 아이디를 통해서 서버에 있는 세션정보를 얻어오는거지

- 나머지 사용자 정보는 서버에 저장되서 안전하다 - 서버의 /var/lib/php/session/[세션아이디] 로써 저장된다

[ 서버 세션 저장소 ] - 가상머신 서버 192.168.6.123

세션아이디를 파일명으로 하고 해당 사용자 정보가 저장되어져 있다

" http://192.168.6.123/logout.php 에서 로그아웃 버튼 Click => 세션내의 사용자 정보는 모두 삭제된다 "

[ 로그아웃 한 결과 ]

쿠키에는 세션 아이디가 그대로 저장되어있지만, 세션안의 사용자 정보들은 모두 삭제된다

[ 서버 세션 파일 확인 ] - 가상머신 서버 192.168.6.123

서버에서 세션파일 정보를 확인해보면 아무런 정보도 들어있지 않음을 확인 할 수 있습니다

[ 세션 파일 삭제하기 ]

쿠키에 존재하는 값을 ' ' 으로 초기화 시켜주기만 하면 됩니다

쿠키에 저장되어 있던 세션 아이디 또한 사라졌습니다 !

기존의 세션파일은 삭제했지만 logout.php에서 session_start()함수에 의해 새로운 세션이 새롭게 생성되었다

( 아무런 정보도 들어있지 않는 새로운 세션파일이 하나 생성된다 )

from http://itsaessak.tistory.com/181 by ccl(A) rewrite - 2020-03-07 14:20:37

댓글

이 블로그의 인기 게시물

[2020 정보처리기사 실기 - 프로그래밍 언어 활용] 2. 언어 특성 활용...

phpmyadmin 설치 차분히 따라해보자

용오름체험휴양마을영농조합법인 / 홍천 용오름캠핑장 팸투어 다녀왔어요.