Cookies de nomenclatura - práticas recomendadas [fechado]

107

Como devem ser os nomes dos cookies?

Devem ser:

  • lower_case
  • CamelCase
  • Underscore_Camel_Case
  • UPPER_CASE

Ou deveriam ser outra coisa?

Emanuil Rusev
fonte
1
Boa pergunta! Iria votar a favor se eu tivesse votos restantes.
Pekka
1
@Pekka: Votei positivamente em você. Eu também votaria, mas só posso votar uma vez :(
Charlie Brown
2
@Bran, votei positivamente em você, pois recebo novos votos em alguns minutos. Oh, mas eu ia votar nisso também ... droga, droga.
Tor Valamo
1
Obrigado Jacob! Isso nos dá um passo à frente. Você não planejou votar positivamente nesta pergunta por acaso, não é? Porque se você fez, vamos precisar de mais um voluntário!
Pekka
1
Apenas no caso, eu não faria. Então, aqui está o meu +1 para vocês. :)
Hilton Perantunes

Respostas:

66

appname_meaningfulname

Ignacio Vazquez-Abrams
fonte
10
@Emanuil: Para distingui-lo de todos os outros cookies gerados por outros aplicativos no mesmo domínio.
Ignacio Vazquez-Abrams
2
@Emanuil Rusev, add-ons do navegador às vezes configuram cookies. Aprendi isso da maneira mais difícil quando meu site pegou um cookie e obteve o conjunto de dados pelo add-on do usuário em vez dos dados do meu site.
lala
8

Lembre-se de que esse cookie é enviado com cada solicitação, então imho, apenas use o menor nome que puder e documente seu código de maneira adequada.

MatthieuP
fonte
4

Deve ser algo que evita conflitos de nomenclatura com parâmetros arbitrários _GET e _POST que você pode estar usando, uma vez que _REQUEST envolve todos os três arrays globais (!), Com precedência dependendo de como a configuração de variables_order é definida no php.ini. Em outras palavras, se você tiver um _COOKIE denominado "x" e um parâmetro de string de consulta denominado "x", e solicitar $ _REQUEST ["x"], obterá o valor do cookie quando desejar / esperar o parâmetro GET. Isso é especialmente problemático se os cookies forem direcionados à raiz "/" do seu site, e não à pasta onde são consumidos.

Então, eu digo, duas práticas recomendadas:

  1. certifique-se de limitar o escopo de seus cookies ao caminho onde eles são lidos e gravados (o terceiro argumento do método setcookie () faz isso)
  2. dê aos seus cookies algum tipo de convenção de nomenclatura específica para cookies. Sugiro um site reverso, como namespaces java, depois ".". {Appname}. ".". {Nome do cookie amigável camel cased} Então, se seu site for www.testsite.com e seu aplicativo for foo, e sua variável é "bar bar bar bar bar barann", seria "com.testsite.foo.barBarBarBarBarann"
WillieMack
fonte
3
Você já viu algumas dessas práticas em um site ao vivo?
Emanuil Rusev
0

Eu uso qualquer estilo que os padrões de codificação para o projeto exigirem.

Geralmente eu prefiro camelCase para esquemas de nomenclatura, mas o que pagar as contas é o que eu escolho.

zumbat
fonte
0

Talvez você não goste da minha resposta:

Não use seus próprios cookies, mas armazene dados em sessões de servidor. Portanto, você só precisa de um cookie (para fazer referência ao id da sessão) e como você nomeia isso não tem nenhuma função.

NineBerry
fonte
9
Isso se torna confuso com os balanceadores de carga, já que a sessão deve ser armazenada em um banco de dados que não está no mesmo host (ou possivelmente no mesmo datacenter). Às vezes, os cookies estão bem.
dotancohen
1
@dotancohen você pode fornecer alguns links sobre o problema que você descreve? obrigado!
Sharky
1
"Não use cookies" parece um pouco puritano; mas gosto dessa tentativa de manter as coisas limpas para o usuário.
Parapluie de
securecookies podem ser usados ​​com segurança, sem qualquer armazenamento de sessão do lado do servidor. Eles não precisam ser enormes (na verdade, há um limite de 4k, que é bastante modesto) e evitam balanceadores de carga e / ou pesquisas de banco de dados centralizadas.
colm.anseo