쿠키 이름 지정-모범 사례 [닫힘]


107

쿠키 이름은 어떤 모습이어야합니까?

다음과 같아야합니다.

  • 소문자
  • CamelCase
  • Underscore_Camel_Case
  • UPPER_CASE

아니면 다른 것이어야합니까?


1
좋은 질문! 투표가 남아 있으면 찬성 할 것입니다.
Pekka

1
@Pekka : 나는 당신을 위해 upvoted. 나도 찬성 할 것이지만 한 번만 찬성 할 수 있습니다 :(
Charlie Brown

2
@Bran, 어쨌든 몇 분 안에 새로운 투표를 받았기 때문에 나는 당신을 위해 upvoted. 오,하지만 나도 투표하려고했는데 ... 맙소사.
Tor Valamo

1
감사합니다 Jacob! 그것은 우리에게 한 걸음 더 나아가게합니다. 혹시이 질문에 찬성 할 계획이 없으 셨죠? 그랬다면 또 다른 자원 봉사자가 필요합니다!
Pekka

1
만일을 대비해서 나는 그렇지 않을 것입니다. 그래서 여러분을위한 제 +1입니다. :)
Hilton Perantunes

답변:


66

appname_meaningfulname


10
@Emanuil : 동일한 도메인의 다른 앱에서 생성 한 다른 모든 쿠키와 구별하기 위해.
Ignacio Vazquez-Abrams

2
@Emanuil Rusev, 브라우저 애드온은 때때로 쿠키를 설정합니다. 내 웹 사이트에서 쿠키를 선택하고 내 사이트에서 설정 한 데이터 대신 사용자의 추가 기능에서 설정 한 데이터를 얻었을 때 저는 이것을 어렵게 배웠습니다.
lala

8

이 쿠키는 모든 요청과 함께 전송되므로 imho는 가능한 가장 작은 이름을 사용하고 코드를 잘 문서화하십시오.


4

_REQUEST는 php.ini에서 variables_order 설정이 어떻게 설정되었는지에 따라 우선 순위로 세 개의 전역 배열 (!)을 모두 래핑하기 때문에 사용중인 임의의 _GET 및 _POST 매개 변수와의 이름 충돌을 피하는 것이어야합니다. 즉, "x"라는 _COOKIE와 "x"라는 쿼리 문자열 매개 변수가 있고 $ _REQUEST [ "x"]를 요청하면 GET 매개 변수를 원하거나 예상 할 때 쿠키 값을 얻습니다. 쿠키가 사용되는 폴더가 아니라 웹 사이트 루트 "/"로 범위가 지정되는 경우 특히 문제가됩니다.

그래서 저는 두 가지 모범 사례를 말합니다.

  1. 쿠키의 범위를 읽고 쓰는 경로로 제한해야합니다 (setcookie () 메서드의 세 번째 인수가이 작업을 수행합니다).
  2. 쿠키에 일종의 쿠키 특정 명명 규칙을 제공하십시오. 나는 자바 네임 스페이스와 같은 역방향 웹 사이트를 제안하고 ".". {appname}. ".". {friendly cookie name camel cased} 따라서 귀하의 사이트가 www.testsite.com이고 귀하의 앱이 foo이고 귀하의 변수 "bar bar bar bar bar barann", "com.testsite.foo.barBarBarBarBarBarann"

3
라이브 웹 사이트에서 이러한 관행 중 일부를 보셨습니까?
Emanuil Rusev 2011

0

나는 프로젝트의 코딩 표준이 요구하는 스타일을 사용합니다.

일반적으로 나는 명명 체계에 대해 camelCase를 선호하지만 청구서를 지불하는 사람이 함께 갈 것입니다.


0

내 대답이 마음에 들지 않을 수도 있습니다.

자신의 쿠키를 사용하지 말고 서버 세션에 데이터를 저장하십시오. 따라서 세션 ID를 참조하기 위해 하나의 쿠키와 역할이없는 이름을 지정하는 방법 만 필요합니다.


9
로드 밸런서가 복잡해집니다. 세션은 동일한 호스트 (또는 동일한 데이터 센터)에 있지 않은 데이터베이스에 저장되어야하기 때문입니다. 때로는 쿠키가 괜찮습니다.
dotancohen

1
@dotancohen 설명하는 문제에 대한 링크를 제공 할 수 있습니까? 감사합니다!
Sharky

1
"쿠키를 사용하지 마십시오" 는 약간 청교도처럼 들립니다. 그러나 나는 사용자를 위해 일을 깨끗하게 유지하려는 시도를 좋아합니다.
Parapluie

보안 쿠키는 서버 측 세션 저장없이 안전하게 사용할 수 있습니다. 그들은 거대 할 필요가 없으며 (실제로는 4k로 제한되어 있습니다)로드 밸런서 및 / 또는 중앙 집중식 DB 조회를 피합니다.
colm.anseo 2011 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.