쿠키 가 져 오기, 설정, 삭제 및 쿠키 를 가 져 올 수 없 는 이유

3230 단어 JavaScript
//  cookie
function utils_setCookie(cname, cvalue, exdays) {
 var d = new Date();
 d.setTime(d.getTime() + (exdays*24*60*60*1000));
 var expires = "expires="+d.toUTCString();
 document.cookie = cname + "=" + cvalue + "; " + expires+";domain=.vko.cn;path=/";
}
//      cookie
function utils_setCookie_s(cname, cvalue) {
 var expires = "";
 document.cookie = cname + "=" + cvalue + "; " + expires+";domain=.vko.cn;path=/";
}
//  cookie
function utils_delCookie(name) { 
	console.log(name);
	var exp = new Date(); 
	exp.setTime(exp.getTime() - 1); 
	var cval = getCookieByName(name); 
	if(cval != null && cval != ''){
		document.cookie= name + "="+cval+";expires="+exp.toGMTString()+"; domain=.vko.cn; path=/"; 
	} 
}
//       cookie  
function utils_getCookie(objname){
	var arrstr = document.cookie.split("; ");
	for(var i = 0;i < arrstr.length;i ++){
		var temp = arrstr[i].split("=");
		if(temp[0] == objname){
			return unescape(temp[1]);
		}
	}
	return "";
}
//       cookie  ——      
function utils_getCookie_gbk(objname){
	var arrstr = document.cookie.split("; ");
	for(var i = 0;i < arrstr.length;i ++){
		var temp = arrstr[i].split("=");
		if(temp[0] == objname){
			temp[1] = temp[1].substring(1,temp[1].length-1);//  ""
			return decodeURIComponent(temp[1]);//  (       )
		}
	}
	return "";
}

쿠키 를 삭제 할 수 없 는 이유: 원본 링크
오늘 쿠키 문제 가 발생 했 습 니 다. username 이라는 도 메 인 은 www. umiwi. com 의 쿠키 를 삭제 할 수 없어 서 사용자 가 로그 인 한 후에 종료 할 수 없습니다.한참 을 하 다가 드디어 문제점 을 발 견 했 습 니 다. 알 고 보 니 제 가 쿠키 에 관 한 기초 지식 을 잘 모 르 고 null...
    쿠키 는 이름과 값 두 속성 뿐만 아니 라 도 메 인 (domain), 만 료 시간 (expires), 경로 (path) 등 속성 도 있 습 니 다.그 중에서 도 메 인, 경로 에 따라 같은 이름 의 쿠키 가 존재 할 수 있 습 니 다.예 를 들 어 이 페이지: 마우스 로 찌 르 세 요.
    일반적으로 우리 가 쿠키 를 삭제 하 는 방법 은 같은 이름, 만 료 시간 으로 과거 어느 시기의 쿠키 를 덮어 쓰 는 것 입 니 다.이 때 삭제 할 쿠키 의 도 메 인과 경 로 를 알 아야 합 니 다. Cookie 도 메 인과 경로 가 같 아야 덮어 쓸 수 있 습 니 다.그렇지 않 으 면 삭제 되 려 는 쿠키 가 신기 한 생명력 을 가지 고 있어 제거 가 불가능 합 니 다 ~ ~
    또한 쿠키 를 설정 할 때 도 메 인 이름 이 지정 되 지 않 으 면 설정 한 이 쿠키 의 도 메 인 은 기본적으로 현재 도 메 인 입 니 다. 예 를 들 어 www. umiwi. com 입 니 다.설정 할 때 도 메 인 을 지정 하면 브 라 우 저가 저장 할 때 자동 으로 앞 에...예 를 들 어 PHP 코드: setcookie ('test', 'a', 0, 'www. umiwi. com'); 그러면 브 라 우 저 에 저 장 된 쿠키 의 도 메 인 은 'www. umiwi. com' 입 니 다.그래서 가장 좋 은 방법 은 쿠키 를 설정 할 때 어떻게 쓰 고 삭제 할 때 어떻게 쓰 는 것 이다. 그렇지 않 으 면 내 가 만 나 는 상황 이 발생 할 것 이다. 분명히 브 라 우 저 에 username = longbill, 도 메 인 은 www. umiwi. com 의 Cookie 가 있 지만 phop 에 setcookie ('username', ', time () - 1000,' www. umiwi. com ',' / ') 를 쓴다.그 쿠키 를 삭제 할 수 없습니다.그 이 유 는 제 가 Cookie 를 삭제 하 는 작업 이 사실은 username, 값 이 비어 있 고 기한 이 지난 1000 초, 도 메 인 은 www. umiwi. com, 경로 가 / 인 Cookie 라 는 새로운 이름 을 보 냈 기 때 문 입 니 다.이 쿠키 는 브 라 우 저 에 보 내 자마자 기한 이 지나 아무것도 보이 지 않 습 니 다.그리고 제 가 삭제 할 www. umiwi. com 에 있 는 쿠키 는 잘 살 고 있 습 니 다...    HTTP 지식 추가: php 에 있 는 header 함수 가 보 내 는 header 정 보 는 기본적으로 중복 되 지 않 으 며, 뒤에 보 내 는 것 은 자동 으로 앞 내용 을 덮어 씁 니 다.일반적으로 HTTP 가 요청 한 header 부분 에 도 중복 정보 가 없습니다. Set - Cookie 헤드 를 제외 하고! 따라서 헤더 함 수 를 사용 하여 쿠키 를 보 내 면 두 번 째 인자 true 를 추가 하 는 것 을 주의 하 십시오.헤더 함수 참조.

좋은 웹페이지 즐겨찾기