홈으로 홈으로 | 무료회원가입 | 아이디/비번찾기 | 즐겨찾기
추천음악방송메인홈1대1상담음악방송청취
okTrot(구독해주세요)
앵콜트로트(구독해주세요)
뽕짝아가씨(구독해주세요)
음악가사 검색
온라이브스토어(앱다운로드)
온라이브(방송등록및청취)
비디오 베스트 50
금영노래방
TJ노래방
유튜브 동영상 다운로드
POP Player
신나는 고스톱
컴퓨터 오목
작은 음악다방
운.영.자.1대1.상담
FAQ\지원.프로그램
Q&A\고.객.지.원

자동러시 웹플레이어신청

보안∵서버∵쿠키
윈도우∵프레임
이미지∵배경
시간∵달력∵계산
상태바∵타이틀바
음악∵영상
폼∵전송∵테이블
키보드∵마우스
효과∵링크∵메뉴
Script∵php
기타
PHP 강좌
윈도우관련팁
웹관련팁
홈페이지제작팁
기본강좌
레지스트리
윈도우서버
리눅스서버
Android
사용자 인증...쿠키~
7년 전
쿠키라는것....많이 들어보셨으리라 생각되는데;;;
navyism@php메뉴의 위에 보면 모노로그가 있죠.....
엇;; 그런데 이름쓰는 란이 없습니다. -_-a;;;
그런데 내용을 쓰고 나면...글쓴이 이름이 찍히죠......오로;;;

또 왜 이런게 있습니다....
투표같은걸 하고 한번 더 할라고 그러면 안되죠-_-a

쿠키라는 놈이 그 비밀입니다....

쿠키는 방문자(클라이언트)의 컴터 하드에 저장되는 인증 방법입니다.
세션이란게 있는데 이것은 서버에 저장되는 것이죠;
암튼...모노로그의 경우에서는 미리 사용자 이름을 받아서 쿠키로 사용자의 컴터에 이사람 이름은 뭐다.....라고 저장해 놓은거죠...
누가? -_,-제가;;;

그랬다가...글이 쓰여질때 그 쿠키를 샤샥 꺼내와서 이름을 찍어 주는것입니다.

쿠키는 간단하게.......쿠키의 이름과 쿠키의 값으로 이루어 집니다..
그러니까 변수랑 똑같은거죠....;;

SetCookie(이름,값,시간);

가장 간단한 쿠키 설정 방법 입니다.
예제를 볼까요?...

<?
setcookie("login","ID",0);
?>

이름에 login이라 주고 값에 ID를...그리고 시간은 0으로 주었습니다.
실행을 하면 login이라는 쿠키가 만들어 지죠...그리고 그 login이라는 쿠키에 ID라는 값이 들어가고 시간이 0이라는 얘기는 브라우져를 종료 하면 쿠키가 사라져 버린다는 것입니다.
보통 사이트에서 로그인을 하고 브라우져를 닫으면 다시 로그인을 해야 하죠? -.- 그거랑 같은겁니다...

암튼...다음소스를 보죠;;

<?
echo "쿠키굽기";
setcookie("login","ID",0);
?>

실행하면?..............
-.- 에러납니다..

cookie는 서버에서 HTTP프로토콜을 이용하는 header정보에 해당하기 때문에 cookie를 설정하는 소스앞에 화면에 표시되는 어떠한 소스도 올수 없습니다.... 그러니까 앞에 echo문이 있으면 화면에 "쿠키굽기"라는 문자가 찍히기 때문에 에러가 납니다.

이렇게 수정해야죠;;

<?
setcookie("login","ID",0);
echo "쿠키굽기";
?>

저도 첨엔 이게 뭔상관이길래;;;; 했는데....
뭐 하다보니.....그냥 그러려니 하고 삽니다.....

그러려니 하세요.....우리가 뭔 힘이 있나요;;;

자 그럼 다른 예제를 보죠;;

<?
setcookie("login","ID",3600);
?>

시간에 3600을 넣었네요...이건 현재 시간으로 부터 3600초 동안 지속된다는 것이죠....브라우져를 닫아버리건...컴터를 끄건 간에... 3600초 동안 쿠키는 남아있습니다.
보통 투표같은곳엔 이렇게 사용을 하겠죠...
그럼 1년동안 쿠키를 남기려면?

365일x24시간x60분x60초.....
즉.....365*24*60*60 으로 주시면 되죠...

그럼 이제 쿠키를 가져오는 방법 입니다.

그냥 간단히 쿠키이름을 변수로 해서 가져와도 된다죠...볼까요?

<?
echo $login;
?>

이렇게 하면 login이란 쿠키의 값이 찍힙니다...
그러니까 ID라고 찍히겠죠...
그런데 이런 방법은 보안상으로 심각한 문제가 있습니다.
예를 들어 이 문서를 test.php라고 한다면...
주소창에.......

http://DOMAIN/test.php?login=ID

이렇게 get방식으로 전달하면 $login이란 변수에 ID라는 값이 들어가서
쿠키가 없더라도 ID가 찍힙니다....
만약 보안상으로 중요한 인증이었다면 문제가 되겠죠...
그래서 이런 변수처럼 쿠키를 사용하면 안됩니다;;;

쿠키값을 가져오는 방법은 이렇게 합니다..

$HTTP_COOKIE_VARS[login]

위와 같은 방법을쓰는데 위 변수에 login이라는 쿠키의 값이 들어갑니다.
사용은 이렇게 하죠..

<?
echo $HTTP_COOKIE_VARS[login];
?>

$HTTP_COOKIE_VARS는 꼭 대문자로 쓰셔야 합니다...
암튼 이렇게 하면 아까 처럼 get방식으로 변수를 전달하더라도 문제가 발생하지 않는다는것이죠....

인증은 이렇게 해야겠죠?

<?
if($HTTP_COOKIE_VARS[login] && $HTTP_COOKIE_VARS[login]=="ID")
{.......}
?>

if문을 보면 login이라는 쿠키가 존재하고....
그 값이 ID일때 실행문을 실행하는것입니다.
그러니까 제대로 쿠키인증을 받았다면 실행이 되는것이겠죠...

그럼 로그아웃은 어떻게 해야 할까요?...
쿠키의 값을 0으로 주어서 쿠키를 구워주면 됩니다.

setcookie("login",0,0);

이렇게 해주면 login이라는 쿠키의 값이 없어지기 때문에 로그아웃이 되는거겠죠......

쿠키를 주는 setcookie라는 함수에는 몇가지 요소가 더 들어갑니다...

setcookie(쿠키이름,쿠키값,적용시간,적용할디렉토리,호스트이름,보안사용);

이렇게 들어가는데.....뒤에 값들은...그다지 -_-a;;;;
따로 공부를 더 하시는게 좋을것 같네요;;;

쿠키란게 상당히 어렵고 복잡한것 같지만...
일단 이해를 하고 나면....엄청 간단하고 편리한 것이죠;;;

그리고 쿠키를 너무 남발하지 않는게 좋을듯하네요..
php에서는 쿠키남발을 막기 위해 쿠키갯수가 제한이 되어있다고 하네요.. 또 기존의 쿠키가 이유없이 날아가 버리기도 한답니다...
또 서버의 php버전에 따라서 쿠키가 잘 안먹는 경우도 있으며...
공부하시면서..또는 작업하시면서...알수없는 에러를 많이 만나시게 될겁니다...
추천추천 : 225 추천 목록
번호 제목
3,012
 텍스트 줄바꿈, 글자자르기 CSS
3,011
 jQuery Mobile에서 유용한 코드 10가지.
3,010
 [PHP] dirname()함수와 $_SERVER 관련 상수들
3,009
 [PHP] 파일 크기, 사이즈 불러오는 함수, filesize()
3,008
 [jQuery] jQuery Quick API
3,007
 [ transition ] 링크 hover 색상 변화 속도 조절
3,006
 PHP 5.3.0 에서 사라진 함수들 대체
3,005
 어떤 파일들이 include 나 require 되었는지 확인하는 함수(get_included_files)
3,004
 PHP 날짜 형식 및 계산하기(날짜 더하고 빼기)
3,003
 jQuery Mobile에서 유용한 코드 10가지.
3,002
 값이 배열 안에 존재하는지 확인하는 in_array함수
3,001
 사용자가 웹브라우저에서 뒤로가기를 했을때 감지하는 방법
3,000
 [jQuery]버튼 활성화, 비활성화
2,999
 jQuery show() / hide() / toggle() 사용법
2,998
 jquery 여러가지 이벤트
2,997
 border-radius 속성
2,996
 네이버 오픈API 음성합성 API 사용하는 PHP 샘플코드
2,995
 UTF8 한글 자르기..
2,994
 iconv 에러 발생시 계속 처리하기 옵션
2,993
 [PHP] 현재 페이지의 도메인 , URL 정보 알아내기.
2,992
 [PHP] 막강 기능 배열..
2,991
 [CSS] - Input clear `X ` 버튼 제거 ( IE, Chrome, Firefox )
2,990
 [Mobile] - 모바일웹 Href 태그속성들
2,989
 [JqueryMobile] - 현재화면의 가로세로 사이즈 구하기
2,988
 [JqueryMobile] - 화면의 가로, 세로 사이즈 구하는 방법
2,987
 jquery로 가로 넓이(width), 세로 높이(height) 자동 조절
2,986
 iframe 높이 jquery로 자동조절하기
2,985
 jQuery 오른쪽 영역의 높이를 왼쪽 영역의 높이와 동일하게 하기
2,984
 jquery에서 테이블 짝수, 홀수 번째 TR 배경색 변경하기
2,983
 jquery에서 테이블에 마우스 오버시 해당 행의 배경색상 변경하기
2,982
 jquery 스크립트내 특정값 확인하기 (디버깅)
2,981
 jquery cookie (jquery.cookie.js)
2,980
 jquery div 기본 넓이, 높이 계산 및 padding, border 포함 하기
2,979
 jquery 다른버전 추가 사용시 충돌 방지 (카페24 스마트디자인 기본내장 jquery 1.4.4 버전과 충돌시 해결방법)
2,978
 특정 페이지 종료시 확인 경고창 출력
목록
추천음악방송
인기절정뽕짝파티
인기트로트모음
지루박디스코메들리
밤무대애창곡
전자올겐경음악
앵콜트로트
뽕짝아가씨
작은 음악다방
종합성인가요방
카바레 음악
트롯디스코팡팡
관광 메들리
트롯카페
가요감상실
추억의옛노래
스페셜가요광장
BillBoard Free
Dance&Remix
추천가요모음
경음악.전자올겐
스페셜음악여행
WOLRD POPs
K-POP\BillBoard
JP\CN
POP TOP BEST
K.R.노래방

추천가요\인기
F뮤직 인기\발라드
F뮤직 애창\트로트
트로트성인가요
인기가요
프리미엄 POP
경음악\기타
프리미엄 최신가요
프리미엄 성인가요
가요1번지(종합)
뮤직하우스
동요\연변\반주\기타
가요축제\트롯1번지
댄스\메들리\리믹스
카페\명상\경음악\기타
추천가요\POP\기타
최신가요\인기가요
뮤직트로트 부산광역시부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.