ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 이 문제들을 다 풀면 session 이해 완료!
    concept/server 2020. 7. 12. 03:23

    출처: 코드스테이츠

     

     

    다음 중 세션에 대한 설명으로 옳은 것을 모두 고르면?

    A 서버와 클라이언트의 연결이 활성화된 상태 자체를 의미한다.

    B 클라이언트의 브라우저에 세션 객체가 저장되어 관리된다.

    C 클라이언트에 개별적으로 발급되는 세션 id는 헤더의 'set-session' 속성에 담겨야 한다.

    D 세션이 활성화가 되면, 서버는 클라이언트를 구분하기 위해 각 클라이언트에 세션 id를 발급한다.

    E 쿠키와 완전히 별개의 개념으로, 쿠키의 단점을 보완하기 위해 등장한 기술이다.

     

     

    더보기

    A 서버와 클라이언트의 연결이 활성화된 상태 자체를 의미한다.

    D 세션이 활성화가 되면, 서버는 클라이언트를 구분하기 위해 각 클라이언트에 세션 id를 발급한다.

     

    오답풀이)

    B 세션 정보가 클라이언트, 서버 둘 다 저장이 된다.

    세션 객체(인증정보)는 서버에 저장

    C set-session이 아니라 set-cookie

    set-cookie는 응답에 담긴다.

    응답에 한번 담기고 나면 req.header.cookie에 자동으로 담김

    E 별개가 아니라 쿠키의 한계를 보완하기 위한 것

     

     

     

    유저가 어떤 팝업 창에 대해 '7일간 다시 보지 않기'를 선택할 경우, 해당 설정은 무엇을 통해 저장하는 것이 가장 바람직할까요?

    더보기

    쿠키

     

     

    express-session을 통해 세션 객체에 'username'이라는 데이터를 저장하려 합니다. 다음 중 올바른 방법은 무엇일까요?

    A req.session.id.username = 'myusername'

    B req.session.username = 'myusername'

    C req.session.cookie.username = 'myusername'

    D req.cookie.username = 'myusername'

     

     

    더보기

    B req.session.username = 'myusername'

     

     

    암호화에서 솔트(salt)란 무엇일까요?

    더보기

    암호화해야 하는 값에 어떤 별도의 값을 추가하여 결과를 변형하는 것

    해시하는 값

     

    MYSALTmypassword -> sha256 HASH -> de234ae

    서버가 데이터 베이스에 저장한 암호는 de234ae

    사용자가 로그인 시도시 서버가 하는 일

    MYSALT + 사용자 입력 -> sha256 HASH -> 결과와 DB에 쌓인 것 비교

     

     

    다음 HTTP 통신의 특성 가운데, cookie 및 session을 사용하는 이유와 가장 밀접한 연관이 있는 것은 무엇일까요?

    A connectionless

    B stateless

    C media independent

    D All of the above

     

     

    더보기

    B stateless

     

     

    다음 중 토큰에 대한 설명으로 옳은 것은?

    A 서버에서만 토큰을 저장하고 관리한다.

    B 인증을 위해 사용되는 암호화된 문자열이다.

    C 서버는 유저의 요청에 담긴 토큰이 유효한지, 유저가 현재 브라우저에 접속 중인지 여부 등을 확인한다.

    D 세션 및 쿠키와 마찬가지로, 유저가 보내는 모든 요청에 포함된다.

     

     

    더보기

    B 인증을 위해 사용되는 암호화된 문자열이다.

    D 세션 및 쿠키와 마찬가지로, 유저가 보내는 모든 요청에 포함된다.

     

     

     

    node.js crypto 모듈의 createHmac 메서드를 사용하여 'topSecret!'이라는 문자열을 암호화하고자 합니다. 다음 코드에서 잘못된 부분은 어디이고, 틀린 이유는 무엇일까요?

    const crypto = require('crypto');
    const yourSecretKey = 'thisIsMySecretKey'
    const hash = crypto.createHmac('topSecret!', yourSecretKey)        
    		.update('topSecret!')        
        		.digest('base64');

    A .createHmac('topSecret!', yourSecretKey)

    createHmac() 메서드는 인자로서 알고리즘만을 받는다.

    B .createHmac('topSecret!', yourSecretKey)

    crypto.createHmac()은 알고리즘과 키를 인자로 받아야 한다.

    C .update('topSecret!')

    createHmac()에서 데이터와 키를 인자로 넣은 경우, update메서드는 생략해야 한다.

    D .digest('base64')

     

     

    더보기

    A

    인코딩이 아니라 알고리즘을 인자로 넣어 주어야 한다.

     

    .createHmac('topSecret!', yourSecretKey)

    crypto.createHmac()은 알고리즘과 키를 인자로 받아야 한다.

    crypto.createHmac(SHA256, yourSecretKey)

    'concept > server' 카테고리의 다른 글

    Cross-site Request Forgery (CSRF)  (0) 2020.11.01
    Cross-site Scripting Attack (XSS)  (0) 2020.11.01
    Server & Node 알고 넘어가야 할 요점 정리  (0) 2020.06.11
    Web Architectures 정리  (0) 2020.06.10
    node.js  (0) 2020.05.25

    댓글

Designed by Tistory.