JavaScript를 사용하여 브라우저에 저장된 모든 쿠키 를 가져와야합니다. 어떻게 할 수 있습니까?
JavaScript를 사용하여 브라우저에 저장된 모든 쿠키 를 가져와야합니다. 어떻게 할 수 있습니까?
답변:
특정 사이트의 쿠키에만 액세스 할 수 있습니다. 를 사용 document.cookie
하면 세미콜론으로 구분 된 이스케이프 된 키 = 값 쌍 목록을 얻을 수 있습니다.
secret=do%20not%20tell%you;last_visit=1225445171794
액세스를 단순화하려면 문자열을 구문 분석하고 모든 항목을 이스케이프 해제해야합니다.
var getCookies = function(){
var pairs = document.cookie.split(";");
var cookies = {};
for (var i=0; i<pairs.length; i++){
var pair = pairs[i].split("=");
cookies[(pair[0]+'').trim()] = unescape(pair.slice(1).join('='));
}
return cookies;
}
따라서 나중에 다음과 같이 작성할 수 있습니다.
var myCookies = getCookies();
alert(myCookies.secret); // "do not tell you"
document.cookies
(O'Reilly 책에서 발췌 ).
HttpOnly
쿠키를 볼 수 없습니다 .document.cookie
는 세미콜론으로 구분 된 name=value
쌍 목록 이 포함 된 속성에 있습니다 .당신은 할 수 없습니다. 설계 상 보안을 위해 사이트에서 설정 한 쿠키에만 액세스 할 수 있습니다. StackOverflow는 UserVoice에서 설정 한 쿠키 나 Amazon에서 설정 한 쿠키를 볼 수 없습니다.
브라우저에 열려있는 현재 문서에 대한 모든 쿠키를 검색하려면 document.cookie
속성 을 다시 사용합니다 .
제목에 프로그래밍 방식이어야 함을 명시하지 않았기 때문에 이것이 진정한 디버깅 / 개인 정보 관리 문제였으며 해결책은 브라우저에 따라 다르며 자세한 쿠키 관리 요금 및 / 또는 디버깅 모듈이 내장 된 브라우저가 필요하다고 가정하겠습니다. 플러그인 / 확장. 나는 하나를 나열하고 다른 사람들에게 그들이 아는 브라우저에 자세히 적어달라고 요청하고 버전을 정확하게 작성하십시오.
Chromium, Iron 빌드 (SRWare Iron 4.0.280)
공구 모양 (도구) 메뉴 : 옵션 / 고급 설정 / [쿠키 및 웹 사이트 권한 표시] 관련 도메인 / 사이트의 경우 검색 창에 접미사를 입력합니다 (예 : .foo.tv). 주의 : 노드 (사이트 또는 쿠키)를 클릭하여 강조 표시 한 경우 [제거]를 사용하여 특정 하위 트리 만 제거하십시오. [모두 제거]를 사용하면 검색에서 선택한 모든 사이트의 쿠키가 계속 삭제되고 디버깅 세션이 낭비됩니다.
브라우저 확장 을 개발하는 경우 browser.cookies.getAll ()을 사용해 볼 수 있습니다.
당신이 요구하는 것은 가능합니다. 그러나 그것은 특정 브라우저에서만 작동합니다. 이를 위해서는 브라우저 확장 앱을 개발해야합니다. 더 잘 이해하기 위해 크롬 API에 대해 더 많이 읽을 수 있습니다. https://developer.chrome.com/extensions/cookies