쿠기 설정 값들에 대해서 설명한 내용입니다.
- Name : 쿠키명 유니크한 값은 아니고, Name, Domain, Path 3가지가 Primary Key 라고 보시면 됩니다.
- Value : 위에 그림과 같이 대부분 암호화가 된 값으로 쓰이고 있습니다. PlainText로 써도 무방하지만, 속성에 따라서 위변조가 가능합니다.
- Domain : 지정하지 않는다면 자기 도메인의 쿠키를 생성합니다.
Ex) aaa.bbb.com 도메인이라면 Domain=aaa.bbb.com 으로 지정 됩니다.
도메인에 대한 설정은 RFC 2965 ( Set-Cookie2, 이미 폐기 된 RFC 2109 )가 있지만 대부분의 브라우저는 이를 완전히 지원하지 않지만 Netscape의 원래 사양을 준수합니다. 하지만 브라우저마다 동작이 다를 수 있으니 주의해야합니다.
아래의 stackoverflow도 참고하시면 될 듯 합니다.
https://stackoverflow.com/questions/1062963/how-do-browser-cookie-domains-work
- Path : 지정하지 않는다면 루트(/)로 지정 됩니다. 위와 같이 /manage/newpost 처럼 지정된다면, nhj2021.tistory/manage/newpost 하위에서만 값을 사용할 수 있습니다.
- Expires / Max-Age : 만료기간을 지정합니다. 지정하지 않는다면 Session으로 설정되어, 브라우저가 종료 될 때까지 사용하게 됩니다. 지정하면 지정된 날짜까지 사용합니다.
- HttpOnly : 사용시 웹브라우저 자바스크립트 ( document.cookie )에서 위변조가 불가능합니다. 항상 서버에서 변경 가능합니다. 설정하지 않을 경우 XSS 공격을 받을 수 있습니다.
- Secure : https 도메인에서 사용되며, http 도메인으로 접근 하였을 때, 공유되지 않습니다. 즉 목록에도 보이지 않고, 조회도 불가능합니다.
- SameSite : https 도메인에서 사용되며, Strict, None, Lax 3가지 속성이 존재합니다.
1. Lax : 쿠키는 일반적인 사이트 간 하위 요청(예: 이미지 또는 프레임을 타사 사이트로 로드)에서는 전송되지 않지만 사용자가 원본 사이트 를 탐색할 때(즉, 링크를 따라갈 때) 전송됩니다. SameSite이것은 최신 브라우저 버전에서 명시적으로 지정되지 않은 경우 기본 쿠키 값 입니다(브라우저 호환성의 "SameSite: 기본값은 Lax" 기능 참조).
2. Strict : 쿠키는 자사 컨텍스트에서만 전송되며 타사 웹사이트에서 시작한 요청과 함께 전송되지 않습니다.
3. None : 쿠키는 모든 상황에서, 즉 자사 및 교차 사이트 요청에 대한 응답으로 전송됩니다. 가 설정 되면 SameSite=None쿠키 Secure속성도 설정해야 합니다(그렇지 않으면 쿠키가 차단됨).
'개발' 카테고리의 다른 글
크롬에서 input text에 아이디가 채워지는 현상 (0) | 2022.09.22 |
---|---|
IIS 에러 페이지 설정 (0) | 2022.07.18 |
C# Sharepoint tCompressedString to string(xml) (0) | 2022.02.02 |
IIS Header Server, x-aspnet-version, x-powered-by 제거하기 (0) | 2022.01.24 |
Window10 NVM 설치하기 (0) | 2022.01.03 |
댓글