2016-08-24 4 views
0

나는 쿠키를 삭제할 수 없다. 가끔씩 (어떻게 가능할 수 있는가?)하지만 버그를 삭제하지 않고 그대로두면 다시는 작동하지 않을 것이다. 나는 모바일을 사용해 이것을보고 모바일에서 쿠키를 삭제할 수 없다. 코드는 다음과 같다 :보안 쿠키를 삭제할 수 없습니까?

if (isset($_SERVER['HTTP_COOKIE'])) { 
     $cookies = explode(';', $_SERVER['HTTP_COOKIE']); 
     foreach($cookies as $cookie) { 
      $parts = explode('=', $cookie); 
      $name = trim($parts[0]); 
      //databaseden poza bilersen poz ele 
      setcookie($name, '', time()-1000); 
      setcookie($name, '', time()-1000, '/'); 
     } 
    } 
    session_destroy(); 
    $session = isset($_SESSION) ? $_SESSION : ''; 
+0

쿠키를 삭제하려면 자바 스크립트를 사용해 보셨습니까 ?? –

+0

쿠키 만료에 상대 시간을 사용하지 마십시오. 그것은 정확한 클라이언트의 시계에 달려 있습니다. 4 년 차이가 나는 것은 아니지만 만료시 '1'시간 만 사용하십시오. 아직 1970 년에있는 사람이라면 컴퓨터에서 제대로 작동하는 것을 기대하지 않아야합니다. –

+0

@MarcB 나는 이것을 다음과 같이 사용했다 : setcookie ("cookie_name", '', 1, '/'); – Alex

답변

-1

당신이 unset 기능을 사용하려 유무 :

setcookie("cookie_token",'',strtotime('-4year'),"/",null,null,true); 

내가이가 확인하기 위해 사용

setcookie("cookie_name",$value,strtotime('+4year'),"/",null,null,true); 

은 내가 아래 사용을 삭제하면 ? 나는 다음과 같은 것을 의미합니다 : unset($_COOKIE['cookieName']).

+0

unset ($ _ COOKIE [ 'cookieName'])이 작동하지 않으며 쿠키를 삭제할 수 없습니다. – Alex

+0

$ _COOKIE은 기본적으로 읽기 전용입니다. 모든 쓰기는 클라이언트에 새로운 쿠키 헤더를 트리거하지 않습니다 **. 당신은 쿠키 클라이언트 쪽을 수정하기 위해'setcookie()'를 사용해야한다. –

+0

@MarcB하지만 위의 설정과 완전히 관련이없는 – Alex