사용자별로 쿠키를 저장하고 사용하려면 저장하는 쿠키형식..? (기초방법 질문아님)

조회수 574회

JS를 사용중입니다

사용자별로 쿠키를 저장하고 사용하려면 document.cookie에 저장될 url 안에 user="아무개" 식으로 추가해서 매번 쿠키에서 user 값을 체크해서 해당 user 거를 불러와서 사용하는거로 추측하고 있는데 이렇게 하는거 맞나요?

그러면 이제까지 기능별로 쿠키를 세줄 정도 사용중이었는데 사용자가 많아질 것을 생각해서 사용자별로 쿠키 한줄에 다 몰아넣는게 맞는건가요?

구글링하니 기본 사용법은 많은데 가이드같은게 없어서 궁금해서 여쭤봅니다..

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 사용자별로 쿠키 한줄에 다 몰아넣는게 맞는건가요?

    쿠키는 원래 한줄입니다. 결과적으로 요청 발송될 때 쓰이는 Cookie 헤더 내용이 그렇습니다.

    이렇게 하는거 맞나요?

    네.

    구글링하니 기본 사용법은 많은데 가이드같은게 없어서

    그게 왜 그러냐면 쿠키라는 수단을 활용해서 뭘 어떻게 구현하든 다 맞는 말이기 때문입니다.
    예컨대 이렇게 처리해도 아주 오답은 아니죠.

    setcookie("user", "jkl0931");
    setcookie("pass", "bklove3311!!");
    setcookie("subscription_due", "2021-05-03 23:59:59");
    

    하지만 딱봐도 이렇게 하면 보안상 문제가 있지요. 그래서 보통은 서버에서 의미 없는 난수를 생성해서 그걸 특정 사용자 정보와 일대일로 매칭하는 세션을 구현한 뒤 쿠키에는 그 난수만 남겨놓는 방식으로 많이들 합니다.

    그나저나

    사용자가 많아질 것을 생각해서

    라고 하셨는데 사용자 수가 늘어난다고 해서 각 사용자의 브라우저에 남을 쿠키의 사이즈가 반드시 커지는 건 아닐텐데요 정확히 무엇을 염려하거나 대비하고 계신 것인가요? 구체적인 시나리오가 있으면 설명이나 분석이 더 수월할 듯 하네요.

    • 감사합니다. 자유롭게 저장하면 되는거군요..주신 예시 코드처럼 지금 사용자별로 체크하지 않고 옵션명=옵션값 이런식으로 여러개 만들고 있었는데요..여기에 각각 유저값을 넣어줄지, 이것을 합쳐서 유저별 한개로 만들어야 되는지에 대한 고민이었습니다..주로 사용자가 어떤 페이지를 조회했는지, 어떤 셋팅값을 저장했는지를 갖고 있으려고 합니다 (예를 들어 웹사이트를 닫기 전 셋팅해둔 폰트크기, 화면구성 등등..) 아이디와 비번값처럼 주요정보는 저장하고 있지 않습니다.. 알 수 없는 사용자 2021.4.9 09:45
    • 아 네 그러시군요. 그렇다면 더더욱 정답이 없습니다. 보통은 "이게 브라우저별로 달라야 하는 정보냐? 브라우저가 달라도 사용자가 같다면 어느 정도 같아야 하느냐?" 를 기준으로 판단합니다. 사용자가 같을 때 일관돼야 하는 정보는 서버에 저장하고, 아닌건 브라우저 쿠키나 localStorage 등에 저장해놓고 하시면 됩니다. 엽토군 2021.4.9 12:42
    • 그렇군요...사용자가 같을 때 일관되어야 하는 정보지만 현재 저는 서버에 저장하는 방식을 사용할 수가 없고..새 브라우저를 열었을 때도 저장되면 좋지만 꼭 저장되어야 한다고 요청받은 바는 없으며 초기화...즉 날아가도 괜찮기에 그 두가지를 사용해야겠습니다..그리고 차후 서버 저장 여부도 생각해봐야겠습니다. 답변 매우 감사드립니다 ^_^ 알 수 없는 사용자 2021.4.9 14:45

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)