httponly cookie 검사 방법
2078 단어 cookie
최근에 쿠키의 실효를 검측하고 자동화 리셋을 완성해야 하는 수요가 생겼다.정상적으로 우리가 값을 얻는 쿠키는 모두document을 통과합니다.쿠키에서 모든 쿠키를 얻는 것은 틀림없습니다. 저도 이렇게 시작했습니다.일상에 발표된 후에 쿠키가 존재할 때까지 쿠키가 효력을 잃으면 갱신이 필요하다고 알립니다.이것은 설마 코드가 잘못 쓴 것입니까?곧 가서 조사해 보았지만 아무런 문제도 발견하지 못했다.마지막.그룹 쪽 백엔드가 쿠키로 돌아올 때 httponly=true를 설정한 것으로 밝혀졌다.그럼 httponly 설정은 이게 무슨 작용인가요?만약에 쿠키에 HttpOnly 속성을 설정하면 js 스크립트를 통해 쿠키 정보를 읽을 수 없습니다. 이렇게 하면 XSS 공격을 효과적으로 방지할 수 있다는 뜻입니다. 더 자세한 것을 알고 싶으면 구글에서 확인하세요.자, 이게 문서를 통과할 수 없다는 걸 알았으니쿠키가 가져왔습니다. 그러면 쿠키가 존재하는지 확인해서 실효 여부를 판단합니다.구체적인 이해를 통해 httponly를 설치한 쿠키는 삭제하고 수정할 수 없음을 알 수 있습니다...바로 코드!
// cookie
const cookieData = ['userName', 'xman', 'spl'];
// httponlycookie
function doesHttpOnlyCookieExist(cookiename) {
const d = new Date();
// cookie 1
d.setTime(d.getTime() + (1000));
const expires = `expires=${d.toUTCString()}`;
document.cookie = `${cookiename}=new_value;path=/;${expires}`;
// cookie cookie cookie httponly
if (document.cookie.indexOf(`${cookiename}=`) === -1) {
return true;
}
// cookie
d.setTime(d.getTime() - (2000));
const expires2 = `expires=${d.toUTCString()}`;
document.cookie = `${cookiename}=new_value;path=/;${expires2}`;
return false;
}
// cookie
// cookie cookie httponly 。。。
// document.cookie , document.cookie httponly
function getCookie() {
const cookieList = document.cookie.split(';');
const cookieObj = {};
let i = 0;
for (const item of cookieList) {
const cookieKeyVal = item.trim().split('=');
cookieObj[cookieKeyVal[0]] = cookieKeyVal[1];
}
// cookie
for (const cookieItem of cookieData) {
// document.cookie cookie
if (cookieObj[cookieItem]) {
i += 1;
// , httponly, true cookie fasle
} else if (doesHttpOnlyCookieExist(cookieItem)) {
i += 1;
}
}
return i;
}
// cookie cookie
if(getCookie() !== cookieData.length){
//
}
, ~
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
서버에서 쿠키 만료 값 가져오기브라우저는 쿠키 만료를 처리하므로 쿠키의 만료 값을 서버에 전달하지 않습니다. 서버에서 쿠키의 만료 값을 얻으려면 일부 조정을 해야 합니다. 두 가지 방법이 있습니다. JSON 값으로 쿠키를 생성할 수 있습니다 다른...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.