httponly cookie 검사 방법

2078 단어 cookie
httponly 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){
//         
}
 ,      ~

좋은 웹페이지 즐겨찾기