생활코딩 PHP에서 세션 사용하기 1 > PHP

PHP

PHP Web Programming 강의 리스트

생활코딩 | PHP에서 세션 사용하기 1

본문

※ 영상을 선명하게 보기 안내
  1. 유튜브 영상에서 오른쪽하단에 톱니바퀴를 클릭합니다.
  2. 팝업목록에서 "품질" 선택하세요.
  3. 원하는 해상도를 선택해주세요.
※ 모바일에서 Wifi가 아니라면 데이타가 소진될 수 있으니 주의바랍니다.
생활코딩님의 PHP강의 청각장애인을 위한 자막
15444116221664.jpg

 이번 시간에는 어쿠 키아 세션 2nd g 편이구요

이번에는 세션에 대해서 알아보겠습니다
어쿠 키나 세션이 나 사용자의 상태를 유지시킨다 라는 측면에서는 같습니다
같은 목적으로 삶이 됩니다만
어 결정적인 차이는 구키가
그 모든 데이터를 브라우저의 쿠키 라고 한 형태로 저장하는 것에 비해서
세션은
단지 현재 이것이 누구인지를 식별할 수 있는 식별자 마늘
브라우저 장을 하구요 실질적인 데이터는 서버 에 파일이나 db 로 저장한
단 차이가 있습니다
예 그 얘기는 어떤 것을 의미한다.면 쿠키는
모든 정보를 브라우저의 저장하기 때문에
어 데이터가 u7 될 수 있는 위험이 있습니다
그렇다면 사용자의 비밀번호나 사용자의 뭐 괴저 분은 이런 중요한 정보들이
있죠
그런 정보를 이 브라우저의 저장을 하게 되면 이 브라우저 자체는 다른
사람이 와서 그 브라우저에 있는 쿠키의 이런 것들을
읽어 볼 수가 있습니다 그러면 중요한 정보들을 유출이 되는 거죠
세션은 단지 사용자의 식별자 마늘 로컬에 저장하기 때문에 브라우저의
저장을 하기 때문에 실질적으로 사회 비탄 데이터 드
뭐 아까 말씀드린 그런 데이터들은 서버 상에 존재하기 때문에 사용
그 누군가가 와서 단지 3천만 을 가지고 그 사용자의 어떤 정보를 훔쳐
가기는 어렵다 라고 하는 것이 바로 이 세션 에 장점입니다
다시 말해서 키 대비 세션이 훨씬 더 보안 쪽으로 유리하다 라는 겁니다
하지만 쿠키 id 조차도 다시 유출되면 유용한 거라는 사실은
여러분들이 또 알아 두셔야 겠죠 어 자 여기서 제가
2세션 에 대해서 간단하게 이렇게 정리해 놨어요 세션은 세션 이라고
졌구요
여기서 에 대한 세션은 우리가 일반적으로
어 그 어떤 강의가 이쁜데 가면 어떤 어떤 시간들
뭐 이런것도 강제 같은 것들을 세션 이라고 하죠
1 주제로 계속해서 연결되고 있는 어떤 어떤 시간 이런 것들을 우리가
세션 이라고 하죠
세션은 아까 제가 말씀드렸던 사용자를 식별할 수 있는 식별 차 그게 세션
id 구요
sid 라고도 합니다 뒤에 있는 부분은 예제를 보면서 우리가 차 살펴
보면 될 것 같습니다
자 세션 에 대한 제가 간단한 예제를
준비했는데요 뭐 이렇게 생겼어요 2 개입할 이루어져 있구요
아파 나 로 들어가서 파일을 열어보면
자 첫번째 파일은 세션 언더바 세이브 언더바 패스 라고 하는 함수를
시작합니다
요거는 대부분의 경우는 사용을 안합니다 이건 뭐냐면 이 사용자가 어떤
세션 데이터를 저장할 때 이를테면 이 타이틀은 생활코딩 이다 라고 하는
주 이 데이터를 모든 페이지에서
가져오고 싶을 때 그럴 때 어떤 세션 이 정보가 이 생활코딩 이란 정보가
2 서버 상에 파일이나 내 파일로 저장이 되는데 기본적으로
어디에 그 파일이 저장 될 것인가를 지정하는 것이 세션 언더바 세이브
패스입니다 예 저는
디버깅을 여러분들에게 설명을 돕기 위해서 요걸 일단은 설정을 해놓은 거고
만약에 그 파일을 다른 곳에 줘 하고 싶으신 분은 역시 마찬가지로 세션
언더바 세이브 패스 라는 쪽 함수를 사용하시면 됩니다
자 그 다음에 세션 언더바 스타트 라고 하는 함수를 호출하게 되면
예 요거는 어 세션 을 사용하는 경우에 반드시
로직에 초입에 작성을 하셔야 됩니다
뭐 세션 세이브 패스 라고 한 요런 함수로 세션 관련된 설정 함수들은
예외 줘
그래서 만약에 어떤 2
화면상에 출력되는 데이터 이후에 세션 언더가 스타트 라고 하는 져 함수로
출 하게 되면 뭐 져 데이터는 헤더 라고 하는 형태의 데이터로 전달이
되기 때문에 에러가 납니다
프로토콜 위반입니다 그렇기 때문에 세션 언더바 스타트는 반드시 예 어떤
로직에 초입에 사용한다.고
어 기억을 해 2시구요
아 자 여기 이제 예제를 한번 실행을 해 보죠
가짜 제가 현재 이 웹페이지에 이렇게 많은 쿠키 들이 현재 구워져 있어요
국회의 제가 일단 삭제를 해 볼게요 자
어 리 무브 세션 쿠키 스 하게 되면 현재 보고있는 욕 화면에서
화면에 쿠키 들을 다 삭제 하는 겁니다 여기 있는 국회 들여
자 삭제를 하면
그럼 여기잇는 요런 쿠키 들은 어
다른 도메인 에서 사용되고 있는 거기 때문에 삭제가 안 된 거구요 현재
보고있는 웹페이지의 국회 들만 삭제한 겁니다 이 도메인의 정확하게
일치하는 놈의 있네요
자 이 상태에서 제가 fo 를 누르게 되면 어차피 hp 는
요 세션 언더바 베이지 이라고 하는 스크립트는
바로 이 세션 언더가 스타트 라고 하는 함수가 실행이 되면서 내부적으로
쿠키가 이 세션 id 해당되는 쿠키가
어 브라우저의 구워져 있는지 저장되어 있는지 저장되어 있지 않은지를
체크해서
만약에 브라우저의 국회가 구워져 있지 않다
그러면 세션 아이디를 만들어서 그 세션 id 를 브라우저의 저장을 합니다
자 요거 자갈이 로드하면 바로 요 부분에 어떤 변화가 일어나는지 보세요
자 php 세션 id 라고 하는 쿠키가 생성이 됐습니다
이게 바로 2p 세전 언더바 스타트 라고 하는 함수가 는 역할입니다
그리고 또하나 여러분들이 보셔야 될 건 뭐냐면
자 여기 보시면
제가 그 로직 상에서 세션 세이브 패스 라고 지정한 거 있죠 현재
디렉토리 점 세션 이라고 적어 놨습니다
자 여기 좀 보고 계신
이부분이 서버 상에서 현재 2세션 언더바 베이직 점 php 라는 파일이
실행되고 있는 디렉토리입니다 그 디렉토리 아래 세션 이라고 하는
디렉터리에 다가
2세 전 데이터 파일을 저장한 단 뜻입니다
자 제가 세션 안으로 들어가서 이 안에 있는 내용 이렇게 쭉 봤어요
자 이렇게 생겼죠 그런데 지금 세션이 이미 생성이 됐기 때문에 제가
일단은 이 세션 쿠키를 삭제를 해 볼게요 자
php 세션 id 가 삭제가 됐죠 자 그러면
지금 여기 파이기 좀 많긴 하지만 1 2 3 5 6 7 8개 의
파일이 현재
있는 상태에요 자 이 상태에서 제가
리로드를 하면 파일이 몇 개 가 되는지 확인해보자
자 파일이 즉 늘었죠 하나 둘 셋 넷 다섯 여섯 일곱 여덟 아홉 개로
들었죠
그럼 뭐냐면 이 세션이 새로 발급되며 서 자 로 세션 알기 해당되는
세션이 발급되며 서 그 세션 id 에 해당되는 파일이 늘어난 겁니다
예 요걸 어 실행해 주는 역할이 2세션 언더바 스타트 라고 하는
함수입니다
굉장히 단순한 함수 1 하지만 내부적으로는 아주 많은 일들을 처리하고
있는 함수 에요
자 그리고 또 하나 주목할 것은 이 세션 id 에 값이 값에 해당되는
파일이 만들어 졌다는 겁니다
4일 에서 시작해서 f2 로 시작할 때 프 트 로 끝나는
2세션 입니다 자 여기서 제가 파일을 찾아 보면 4일에서 시작해서 f2
를 시작하는 파일이 생성이 됐죠
그 앞에는 세전 에 세션 에그 프리픽스 인 ecs ess 언더바 라고
하는 예 적두 가 붙은 거죠
이해 하시나요 자 다시 한번 설명 드리면
2세션 언더바 베이직 점 php 에 접근을 하게 되면 여기에 있는 첫번째
라인에 있는 세션도 바스테트 라고 하는 함수 거주 되면서
만약에 이 웹페이지에 쿠키와 보여줄 지 않다면 쿠키를
어 세션 id 값을 만들어서 php 세션 r 이란 이름으로 국회를 굳고
요 국회로 9 면서 동시에 그 국회에 해당 쿠키 의 값과 일치하는
2세션 파일을 만든다는 겁니다 그리고 세션 파일 안에는
사용자가 지정한 2달러 언더바 세션 이라고 하는 변수에 타이틀이라고 하는
인덱스를 지정을 한 다음에 생활코딩 이라고 적으면 바로 이 전역변수 안에
이 전역변수 있는 내용을
아까 말씀드렸던 이제 전 파일 있죠 이 파일 안에 다 저장을 하게 되는
겁니다
자 그럼 두 번째 절을 보조 자 두번째 제는 세션 언더바 베이직 추첨
php 입니다
이 파일은 자 첫번째로 세전 언더바 3 6 8 스스로 이제 전 파일이
저장되는 위치를 지정 을 했죠
우리 역시 마찬가지로 세션이 사용되는 것에 서너 모든 곳에서 세션 언더바
스타트를 주행을 시켜 줘야 됩니다
예 그 다음에 이번에는 에코 를 실행 했고요
그 다음에 전역변수 달러 언더바 세전 에다가 타이틀이라는 값에 좋습니다
이탈 텔 어디서 썼는지 기억나시나요
여기서 타이틀은 생활코딩 이라고 제가 적어 줬죠
그러면 요건은 2세션 언더바 베이직 추천 pgp 는 세션 언더와 페이지
점 페이지 p 와는 다른 파 일임에도 불구하고
요 타이트 로 줄여 쓸 때 요 앞에서 저장한 생활코딩 을 가져온다면
이 웹페이지는 세션 언더와 베이지 점 php 와 베이직 추천 php 가
상태가 유지 그대 하고 유지되고 있다고 할 수 있는 거죠
예 그 다음에 제가 여긴 요건 뭐냐면 8개 컨텐츠로
표 내용은 좀 바꿔도 되겠네요 자
이렇게 가버려 상관없습니다 자 세션 현재 디렉토리 밑에 있는
쎄 session 더 바 세션 id 세션 id 는 이 세션 id 값 바로
여기 있는 요가 b 있죠
이 값을 리턴하는 함수 입니다 이아 session 더 바 세션 id 를
읽어서 것을 화면에 뿌려 줘라 라는 뜻이죠
그게 뭐냐면 현재 사용하고 있는 세션 파일에 담겨 있는 내용을 화면에
뿌려 주라는 얘기입니다
자 생각에서 베이직을 배지 츄 로 바꾼 다음에
요들 해보면 자 첫번째로는 생활코딩 이 지켜 쬲
바로 이거는 이 부분에 의해서 실행이 된겁니다 두번째는
자 조금 사람이 알아보긴 힘들지만 대충 몸을 뭔가 이해가 줘 타이틀이라고
하는 타이틀을 생활코딩 이다
그리고 뭐 이거는 문자열이 고 모 이 데이터의 길이를 의미하는 거죠
그래서 어
사용자가
딸 라운 더 바 세션 이라고 하는 이 전역 변수에 저장한 데이터가
2 아까 제가 보여드렸던 요 세션이 급히 집에 가 내부적으로 자동으로
생성하는 저 3천 파일의 데이터가 기록이 되고 다른 페이지에 접근 았을
때 이 로컬에 저장되어 있는 세션 id 로 사용자 식별 해서 그 사용자
아이 이사야 사용자의 세션 id 해당되는
파일의 php 가 찾아서 그 안에 있는 데이터를 가져오는 겁니다 그리고
보시는 것처럼 세션 언더가 베이직 두 점 php 와 같은 곳에서는 요
달라 언더바 세션 이라고 하는 전역변수를 세팅해서 이 로직이 공급을 하는
거죠 그럼 그 로직 에서는 이런 에코 같은 걸 통해서 자기가 원하는
데이터를 가져갈 수가 있게 되는 겁니다
예 다시 제가 여기다가 생활코딩 라고 하는 데이터를 쉘 코딩 투로 바꾸고
자 베이지 점 php 로 간 다음에 제가 다시
자 페이지 2.2 php 로 가보면 이번에는 생활코딩 투로 바뀌어 있죠
그리고 파일의 내용도 생활코딩 q 로 바뀌어 있는 것을 알 수가 있습니다
자 세션은 어떻게 보면 은 내부적으로 php 가 많은 것들을 처리 하기
때문에
어 굉장히 편리 하지만 한편으로는 좀 이해하기가 어려울 수도 있습니다
그래서 제가 설명이 좀 부족하긴 하지만 몇 번 반복해 가면서 2세션
이라는 것이 어떤 의미고
또 세정과 쿠키는 어떤 관계에 9 그런 것들을 곰곰히 잘 따져 보시면
좋을 것 같습니다
그리고 이 세션 관련해서는 훅 c 를 사용하지만 이 국회 라는 것은 모든
브라우저에서 사용할 수 있다고 보장할 수가 없습니다
그런 경우에는 페이지 피는 이 쿠키가 아니라 이 파라미터를 이용하기도
합니다 이럴 때면 쉐이핑 이 될수 있어요 id
는 여긴 2호 값 있죠 이 값을
뒤에다 이렇게 쭉 붙여서 어
붙여서 현재 사용자의 그 사용자가 누구인지에 대한 식별자를 이렇게 url
파라미터로 전달할 수도 있습니다 그래서 페이지 이동할때 마다
요기 있는 url 에 파라미터가 쫓아가면서 이 사람이 누군지를 계속해서
서버에게 알려주게 되는 거죠 그러면 php 는 여기 전달된 요 파라미터
요 유아 레레 그 쿼리를 이 8m 를 이용해서 그 사용자가 누군지를
찾아낼 수가 있게 되는 겁니다
요 파라미터 부분은 설명을 드리면 좋겠지만 좀 더 복잡해지고 도 실제로는
대부분의 경우에는 쿠키로 쿠키 만을 사용한 경우가 많이 있기 때문에 이
부분은 어 생강 생략하고 요 이런 것 이런 것이 있다는 것만 여러분들이
일단은 일에 그 알아두시면 될 것 같습니다

댓글 0개

등록된 댓글이 없습니다.

Total 93건 1 페이지
썸네일
제목

본 사이트의 컨텐츠는 명시적으로 공유기능을 제공하고 있는 공개된 자료를 수집하여 게시하고 있습니다.

저작권, 강의등록, 광고, 제휴등은 "관리자에게 문의하기"로 메세지 주시면 확인후 답변드립니다.

Menu