2013-06-02 2 views
2

나는 사용자 (logout.php)를 로그 아웃하는 스크립트를 가지고 있으며 FF와 IE에서는 완벽하게 작동하지만 크롬에서는 브라우저가 닫힌 후에도 쿠키를 사용할 수 있습니다.Chrome에서 쿠키를 삭제하지 않습니까?

나는 코드의이 비트와 함께 테스트 한 크롬에서 여전히 모든에도 불구하고 SPF 컨텐츠 함께 메아리

session_start(); 
$_SESSION['un'] = ''; 
$_SESSION['pw'] = ''; 
unset($_SESSION['un']); 
unset($_SESSION['pw']); 
setcookie("spf", "", time()-3600); 
session_destroy(); 
echo "Cookie: ".$_COOKIE['spf']."<br />"; 
echo "Session: ".$_SESSION['un']; 

logout.php. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

편집 :

가 FF에서 내 testpage이 메아리 :

Cookie: 

Session: 

(모두 예를 들어, 빈).

Cookie: {\"un\":\"test3333\",\"pw\":\"593c114983263124656dd6bb922b7bd8\"} 

Session: 

(예를 들어, 쿠키 내용이 세션이 비어) :

크롬에서는 이것이 말한다. THEN

$_SESSION=array(); // assign an empty array to the session 

또는

session_unset();  // unset $_SESSION variable for the run-time, frees all session variables currently registered. 

INFO

을 AND :

+1

예를 들어 setcookie ('spf', '', time() - 3600, '/')와 같은 쿠키 경로를 지정하십시오. – maximkou

+2

이전의 쿠키 값을 반향하는 Chrome에 어떤 의미가 있는지 모르겠지만 'echo'문은 쿠키 값이 Chrome에 도달하기 전에 PHP가 생각한 내용을 반영합니다 ...? –

+0

질문이 업데이트되었습니다. –

답변

0

당신이 시도 할 수

session_destroy(); // destroy session data in storage 

참고 : 로 세션을()을 파괴를 현재 세션과 관련된 모든 데이터 세션과 관련된 전역 변수를 설정 해제하거나 세션 쿠키를 설정 해제하지 않습니다. 세션 변수를 다시 사용하려면 session_start()를 호출해야합니다.

session_destroy()로 세션을 완전히 종료하려면 사용자를 로그 아웃하는 것처럼 세션 ID도 설정 해제되어야합니다. 쿠키가 세션 ID (기본 동작)를 전파하는 데 사용되면 세션 쿠키를 삭제해야합니다. setcookie()를 사용할 수 있습니다.

은에서 가져온 : INFO

UPDATE :

그럼 난 당신이,이 배열 이름을 변경하는 경우 그 SPF 쿠키

setcookie ("spf", "", time() - 3600); 

의 이름입니다이 필요하다고 생각 ~ spf [one] 예 :

setcookie ("spf[un]", "", time() - 3600); 

보기 HERE

+0

고마워요.하지만 정말로 사라지지 않을 것입니다. 일반 쿠키를 쉽게 설정하고 Chrome에서 삭제할 수 있지만이 쿠키는 삭제할 수 없습니다. print_r ($ _ COOKIE)를 사용하면; "array ([spf] => {\"un \ ": \"test3333 \ ", \"pw \ ": \"593c114983263124656dd6bb922b7bd8 \ "}))"를 출력합니다. –

+0

업데이트 : 마침내 약간의 진전. 이 "setcookie ("spf [un] ","somethingcookietwo ")를 사용하면" 나는 spf에서 un의 가치를 somethingcookietwo로 바꿀 수있을 것이다. 그리고 비워두면 값이 완전히 제거됩니다. 그러나 배열은 여전히 ​​남아 있습니다. –

+0

답변이 도움이 되었기를 바랍니다. – konnection

0

과거의 날짜를 설정하고 트릭을 수행하고, 좋은 것을 삭제할 수 있도록 경로를 추가하는 것을 잊지 마십시오.

setcookie ('your_cookie', '', time() - 3600, '/');

관련 문제