inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

PHP 7+ 프로그래밍: 객체지향

37 - 인증 (Auth)

AuthService::logout 메소드에서 Session 데이터를 비우는 방법에 대한 질문입니다.

해결된 질문

381

Henu

작성한 질문수 66

1

안녕하세요, '로그아웃' 구현 부분에서 세션을 비우는 처리에 대해 질문드립니다.

만약,  운영중인 사이트를 이용한다고 가정했을 때 아래와 같이 대부분이 로그인 및 로그아웃 절차가 진행된다고 생각합니다.

1. 홈페이지 로그인: 세션에 유저 데이터 생성

2. 홈페이지 이용

3. 브라우저를 닫거나 로그아웃 버튼 클릭: 세션이 완전이 사라지거나, 세션은 있되 세션에서 유저 정보가 비워짐

 

3번 항목에서 보통 PHP에서 세션을 비울 때(삭제할 때) 아래 두 함수를 쓰는 모습을 볼 수 있었는데요.

 

1. session_destory() => 전체 세션을 삭제(예로 세션 저장소(파일시스템의 세션 파일 또는 DB의 세션 관리 Table의 세션 데이터))

2. session_unset() => 세션에서 변수만 삭제(CODE E) $_SESSION = array();)

 

이 외 세션에서 '유저' 정보만 비우는 경우(CODE EX) $_SESSION['user'] = array();)에는 어떤 경우가 있는지 알 수 있을까요?

php PHP7 oop framework

답변 1

1

정상우

세션에 유저의 정보만을 비우는 경우는 거의 없습니다. 제가 프로젝트를 하면서도 세션의 유저의 값만 비우려고 시도한 적은 없습니다. 세션 아이디를 새로만들고 새로운 세션을 시작한 경우는 많은 것입니다. 만약에 비밀번호를 변경했는데, 다시 로그인하게 하고싶은 경우에도 로그아웃을 하고 재 로그인을 요구하여 새로운 인증 세션을 만듭니다.

다만 지우려는 세션이 '유저' 라는 점을 배제한다면, 세션 값의 일부를 지우는 경우는 꽤 많습니다. 세션에 임시값을 저장해놨다가 클라이언트에서 출력한 뒤 곧장 없앨 수도 있습니다. 플래시(Flash) 메시지라고 하죠. 세션에 임시값을 저장하는 용도로 사용하는 것은 아주 흔한 일 중 하나입니다. 사용자가 폼을 전송했으나 유효성 검사에서 실패하여 뒤로 돌아가야하는 경우, 입력해둔 폼값을 세션으로 임시로 저장해두고 인풋필드의 기본값으로 채워넣고 사용 후 제거하는 방식으로는 사용할 수는 있습니다.

패케지스트를 하지 않고 섹션7을 수행할수 있나요

0

90

1

나만의 프레임워크 작성 후, 운영환경 배포에 관한 문의 드려요

0

403

1

35강 미들웨어에서 인증 과정을 Auth클래스로 만들면, 어느 디렉토리에 둘까요?

0

335

1

ios환경에서는 어떻게 설치해야 하나요?

0

448

1

라라벨(php) 배포 문의

0

1655

1

왜 http://localhost/ 로 접근하면 public/index.php 가 실행되나요?

0

2105

1

http://localhost:8080/posts/1 접근시 배열 0값 표기 오류

0

399

1

xdebug 설치

0

669

1

localhost 경로

0

441

1

class not found

1

328

1

namespace class not found 질문

0

466

1

csrfmiddelware 에러 질문입니다

0

366

2

url Parttern Parts 가 무슨뜻인가요?

0

349

1

통합 개발환경 (IDE) 관련 문의

0

248

1

Route 클래스 질문이 있습니다!

0

297

1

모델 User 등에서 속성들을 protected 나 private 으로 설정하지 않는 이유가 있습니까?

0

341

1

안녕하세요 프로젝트를 react와 연동하기에 대해서 여쭈고 싶습니다 :)

1

1378

1

DatabaseSessionHandler.php 에러 해결 부분

0

299

1

안녕하세요. 라우터 서버 연결 질문이 있습니다.

1

282

1

아니 강사님 왜 자꾸 어어 거려요? 진짜 겁나 거슬려 죽겠네 ㅡㅡ 어좀 적당히해요 거슬려 죽겠네 그리고 마이크 좀 좋은거 쓰세요 볼륨이 낮아졌다 커졌ㄷ ㅏ하고 발음도 다뭉개져지고 딕션도 안 좋아서 하나도 안들려요 진짜 개짜증나네

1

575

2

로컬환경에서 개발 후 운영환경으로 배포 시 발생하는 이슈에 대한 문의입니다.

1

578

2

DatabaseSessionHandler 클래스의 gc($maxlifetime) 메소드에 대해 질문드립니다.

2

262

1

Xdebug 설치 후 php index.php 실행하면 오류가 납니다..!

0

1136

1

CentOS 7.* 서버쪽으로 배포를 해보던 중에 질문드립니다.

1

373

1