connect / expressjs에서 "서명 된"쿠키는 무엇입니까?
"서명 된 쿠키"가 실제로 무엇인지 알아 내려고합니다. 인터넷에별로 없는데, 내가 이것을 시도하면 :
app.use(express.cookieParser('A secret'));
하지만 여전히 ... 쿠키는 브라우저에서 여전히 100 % 정상적이며 여기에 "서명"이 무엇인지 잘 모르겠습니다. (나는 클라이언트에서 어떤 이상한 점을 "보길"바라고있었습니다. 소금으로 "비밀"?)
설명서에는 ( https://github.com/expressjs/cookie-parser ) :
쿠키 헤더를 구문 분석
req.cookies
하고 쿠키 이름으로 키가 지정된 객체로 채 웁니다 . 선택적 으로 다른 미들웨어에서 사용할 수 있도록secret
할당 하는 문자열 을 전달하여 서명 된 쿠키 지원을 활성화req.secret
할 수 있습니다.
아는 사람 있나요?
Merc.
쿠키는 계속 표시되지만 서명이 있으므로 클라이언트가 쿠키를 수정했는지 감지 할 수 있습니다.
값 (현재 쿠키)의 HMAC를 만들고 base64로 인코딩하여 작동합니다. 쿠키를 읽으면 서명을 다시 계산하고 첨부 된 서명과 일치하는지 확인합니다.
일치하지 않으면 오류가 발생합니다.
쿠키의 내용도 숨기려면 대신 암호화해야합니다 (또는 서버 측 세션에 저장). 이미 거기에 미들웨어가 있는지 확실하지 않습니다.
편집하다
그리고 서명 된 쿠키를 만들려면
res.cookie('name', 'value', {signed: true})
서명 된 쿠키에 액세스하려면 다음 signedCookies
개체를 사용하십시오 req
.
req.signedCookies['name']
emostar는 단순히 가치가 변조되지 않았 음을 확인하는 것이라고 언급했습니다. 두 개체를 구별하기 위해 다른 개체 (req.signedCookies)에 배치되어 개발자가 의도를 보여줄 수 있습니다. 다른 사람들과 함께 req.cookies에 저장 되었다면 누군가는 단순히 같은 이름의 서명되지 않은 쿠키를 만들어서 그 목적을 모두 무너 뜨릴 수 있습니다.
나는 이것에 대한 좋은 대답을 꽤 광범위하게 찾고 있었다. 그리고 서명 된 쿠키에 서명하는 cookie-signature
데 사용되는 의 소스 코드를 cookie-parser
보면 서명 된 쿠키가 무엇인지 더 잘 이해할 수 있었다.
val
물론 쿠키의 값이며 secret
옵션으로 추가하는 문자열입니다.cookie-parser
https://github.com/visionmedia/node-cookie-signature/blob/master/index.js#L16
나는 쿠키 파서 1.4.4 버전을 사용했습니다.
서명 된 쿠키와 브라우저에서 암호화 된 서명 된 쿠키를 추가 할 수 있습니다. editThisCookie (크롬 플러그인)를 사용하여 서명 된 쿠키를 편집하려고하면 cookie-parser가 외부 변경을 감지 한 다음 false를 값으로 설정합니다.
response.cookie('userId',401,{signed: true})
브라우저의 응답 헤더는 다음과 같이 나타납니다.
Set-Cookie: empId=s%3A101.US2oSV4TSvfkvvEQ5fj1sXsjj8rNxx2ph4VdHNTuKX8; Path=/
서명 된 쿠키 받기
request.signedCookies
https://gist.github.com/dineshbalaji/607d166f0240f932a5cb02099b0ece4c
참고 URL : https://stackoverflow.com/questions/11897965/what-are-signed-cookies-in-connect-expressjs
'Programing' 카테고리의 다른 글
Android에서 터치 이벤트를 시뮬레이션하는 방법은 무엇입니까? (0) | 2020.08.25 |
---|---|
Visual Studio가 어딘가에서 프로젝트에 대한 잘못된 경로를 검색합니다. (0) | 2020.08.25 |
파이썬에서 파일이 바이너리 (비 텍스트)인지 어떻게 감지 할 수 있습니까? (0) | 2020.08.25 |
CSS 속성 : 표시 vs. 가시성 (0) | 2020.08.25 |
"작은 첨자가있는 요소"를 포함하여 모든 중복 행 찾기 (0) | 2020.08.25 |