2010-05-15 4 views
2

PHP로 쿠키 만료 시간을 읽을 수 있습니까? 그것은 출력 내가 print_r($_COOKIE) 경우 : 쿠키 만료 받기

Array 
(
    [PHPSESSID] => 0afef6bac83a7db8abd9f87b76838d7f 
    [userId] => 1232 
    [userEmail] => [email protected] 
    [firstName] => user 
    [lastName] => user 
) 

그래서 내가 $_COOKIE이 만료 시간이없는 생각, 그것은 다른 기능을 할 수있다?

+0

관련 질문 : 그 쿠키 만료를 얻을 수있는 방법을 의미하므로 http://stackoverflow.com/questions/2802760 – Gumbo

답변

5

다른 쿠키 데이터를 사용할 수 없도록 이름과 값만 서버로 전송됩니다.

쿠키의 지속 기간을 연장하려면 쿠키를 다시 설정할 수 있습니다. 응답에서 단지 몇 바이트 만 더 많아서 전혀 문제가되지 않습니다.

+2

... –

+1

없음이되지 않습니다. 개인적으로하는 일은 만료 시간을 데이터베이스에 저장하고 쿠키에 일종의 식별자를 포함시키는 것입니다. 일반적으로 로그인 정보를 저장하기 위해 쿠키는 식별자 (길지 않은 임의의 식별자이므로 추측 할 수 없습니다)입니다. 클라이언트가 (가상으로) 만료 시간을 보냈다면 어쨌든 사용하지 않아야합니다. – Artefacto

1

아니요, 방법이 없습니다.
브라우저는 쿠키 전송 여부를 결정하기 위해서만 쿠키 매개 변수 (경로, 만료 등)를 사용하지만 이러한 매개 변수는 서버로 보내지 않습니다.

은 $ _SESSON 배열 멤버로 간주되는 것이 아니라 HTTP 헤더로 간주됩니다. 항상 도움이됩니다.

0

또는 쿠키의 값에 time() 함수를 사용하면 하나의 쿠키 만 필요하고 데이터를 검색 할 수 있습니다. PHP 코드는 다음과 같이 보일 것이다 :

setCookie('cookiename', time(), time() + 86400);

그런 식으로, 당신은 하루에 만료되는 쿠키를해야하고, 그것이 이런 일에 만료됩니다 때 발견 할 수있는 값의 검색 기준 :

86400 - (time() - $_COOKIE['cookiename']);