티스토리 뷰
과제중 PHP 로그인 과 아웃 페이지를 만들어야해서 정말 간단히 PHP 몇시간 공부하고 DB 연결 까지 해서
로그인을 진행은 시켰는데 이것이 로그아웃 을 하려면 세션(Session) 이라는 것이 필요다는 걸 알았따
처음부터 다시 만든다
참고!
아래 내용은
테서르 님 의 블로그 의 내용을 옮겨 적었으며 해당 출처를 밝히는 바입니다
테서르 님의 블로그에 가면 IT 부분의 다양한 정보가 있으니 참고 하세요
= 테서르 블로그 =
[PHP] php 세션(Session) 사용하기
세션(Session)은 모든 정보가 사용자 측의 컴퓨터에 저장되는 쿠키와는 달리 웹 서버에 정보를 저장하고 사용자 측에는 접근할 수 있는 키 값을 저장한다. 웹 서버에 데이터가 저장되고 필요할 때
teserre.tistory.com
세션(Session) 이란?
- 세션(Session)은 모든 정보가 사용자 측의 컴퓨터에 저장되는 쿠키와 는 달리 웹 서버에 정보를 저장하고
사용자 측에는 접근 할수 있는 키 값을 저장
웹 서버에 데이터가 저장되고 필요할 때마다 브라우저에서 키 값을 서버에 요청한다
그리고 브라우저를 종료하는 시점에서 세션 이 삭제가 되어서 쿠키보다 보안성이 높다
1. 세션 시작(초기화)
<?php
// 세션 시작
session_start();
?>
우선 시작은 엄청 간단하고 명료 하다 그냥 session_start(); 라고만 시작 하면 되니,
사용자 정보가 웹서버에 없는 경우에는 새로운 세션을 생성하고 , 이미 세션이 생성되면 기존 세션을 사용 한다
php에서 세션을 생성하면 기본적으로 세션의 이름은 PHPSESSID로 저장된다. php 설정파일인 php.ini에서 변경이 가능하다. 일시적인 변경이 필요하면 session_name('변경할 이름')을 사용하여 변경을 할 수 있다. session_name()을 사용하려면 session_start()보다 위에 입력을 해야 오류없이 작동한다.
세션 유지 시간은 php.ini 파일에 명시되어있는데, session.gc_maxlifetime항목을 보면 1440(초 단위, 24분)으로 지정되어 있다. 이 시간이 지나면 아무런 요청이 없는 세션 데이터를 삭제하는 것으로 세션을 종료시킨다.
2. 세션 변수 사용
<?php
//세션 시작
session_start();
//세션 변수 등록
$_SESSION['userName'] = 'tester';
$_SESSION['userPw'] = '1234';
//등록된 변수 사용
echo "userName 값: ".$_SESSION['userName']."<br/>";
echo "userPw 값: ".$_SESSION['userPw'];
?>
세션을 사용하여 변수를 등록하려면 $_SESSION['변수명'] = Data 형태로 사용하면 된다. 위 코드처럼 $_SESSION['userName'] = 'tester'; 라고 하면 userName이라는 세션 변수에 tester라는 값을 저장한다는 의미다.
등록된 세션 변수를 사용하는 것도 등록과 같다. $_SESSION['변수명'] 형태로 사용한다. 그대로 쓰면 코드가 길어지니 php 변수에 저장하여 사용하는게 편하다.
-- 여기서 확인 해야 할부분이 DB 를 연결하여 세션을 유지해야 하니 위 내용은 세션에 대하여 이해하고
db 연동을 통한 부분은 다음 문서에서 추가 작성 해야겠다
3. 세션 변수 등록 해제
<?php
//세션 시작
session_start();
//세션 변수 등록
$_SESSION['userName'] = 'tester';
echo "userName 값: ".$_SESSION['userName'];
//등록된 변수 해제
unset($_SESSION['userName']);
echo "userName 값: ".$_SESSION['userName'];
?>
등록된 변수의 해제는 unset()을 사용하면 된다. unset($_SESSION['변수명']) 형태로 입력하면 해당하는 변수가 등록이 해제되어 사용을 할 수 없게 된다.
만약 모든 변수의 등록을 해제하고 싶으면 session_unset() 함수를 사용하면 모든 변수의 등록이 해제된다. 세션을 완전히 종료하고 싶다면 session_destroy()를 사용하여 세션 파일과 브라우저의 쿠키를 삭제하여 세션이 종료된다.
php .ini 파일에 다양한 정보를 담는 다는 것을 이제 알았다..
참고로 php 공부는 '생활코딩' 님의 홈페이지와 YouTube 를 에서 학습 하였다
생활코딩 Home Page
생활코딩 Youtube channel
'Development' 카테고리의 다른 글
[php] 웹 로그인 및 회원 가입 페이지 만들기(소스첨부) (0) | 2021.11.12 |
---|---|
CSS 배경색 그라데이션 넣기 (0) | 2021.11.04 |
HTML 가운데 정렬 때문에 고생....(문제해결) (0) | 2021.11.04 |
php header 리디렉션 안됨....(해결함) (0) | 2021.11.02 |
- Total
- Today
- Yesterday
- podman
- CTF
- PODman기초
- Rcity 9번
- grootsecuriry
- rhcsa8덤프
- rhcsa8
- 파이썬실습
- grootboan
- 리눅스 환경변수 지정
- 리눅스
- 쉘 스크립트 기초
- Rcity1번
- rhcsa8 기출문제
- RCity operation 1
- 주소DB만들기
- rhcsa8 시험문제
- 리눅스 명령어
- 리눅스 쉘 스크립트
- 맨탈훈련
- 파이썬기초
- Grootsecurity
- rhcsa8 덤프
- gzip
- 라쿤시티
- Rcity
- 7-zip
- 리눅스본딩
- Rcity CTF
- Rcityboan.com
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |