Denominazione dei cookie - best practice [chiuso]


107

Come dovrebbero essere i nomi dei cookie?

Dovrebbero essere:

  • minuscolo
  • CamelCase
  • Underscore_Camel_Case
  • MAIUSCOLO

O dovrebbero essere qualcos'altro?


1
Buona domanda! Lo voterei a favore se avessi voti rimasti.
Pekka

1
@Pekka: ho votato per te. Vorrei votare anch'io, ma posso votare solo una volta :(
Charlie Brown

2
@Bran, ho votato per te dato che ottengo comunque nuovi voti in pochi minuti. Oh, ma avrei votato anche per questo ... accidenti.
Tor Valamo

1
Grazie Jacob! Questo ci fa fare un passo avanti. Non avevi intenzione di votare questa domanda per caso, vero? Perché se lo facessi, avremo bisogno di un altro volontario!
Pekka

1
Per ogni evenienza, non lo farei. Quindi, ecco il mio +1 per voi ragazzi. :)
Hilton Perantunes

Risposte:


66

appname_meaningfulname


10
@Emanuil: per distinguerlo da tutti gli altri cookie generati da altre app sullo stesso dominio.
Ignacio Vazquez-Abrams

2
@Emanuil Rusev, i componenti aggiuntivi del browser a volte impostano i cookie. L'ho appena imparato nel modo più duro quando il mio sito web ha rilevato un cookie e ha ottenuto il set di dati dal componente aggiuntivo dell'utente anziché il set di dati dal mio sito.
lala

8

Tieni presente che questo cookie viene inviato con ogni richiesta, quindi imho, usa il nome più piccolo possibile e documenta bene il tuo codice.


4

Dovrebbe essere qualcosa che eviti i conflitti di denominazione con i parametri arbitrari _GET e _POST che potresti utilizzare, poiché _REQUEST avvolge tutti e tre gli array globali (!), Con precedenza a seconda di come è impostata l'impostazione variable_order in php.ini. In altre parole, se hai un _COOKIE chiamato "x" e un parametro stringa di query denominato "x" e chiedi $ _REQUEST ["x"], ottieni il valore del cookie quando potresti volere / aspettarti il ​​parametro GET. Ciò è particolarmente problematico se i cookie sono limitati alla radice del sito Web "/" e non alla cartella in cui vengono utilizzati.

Quindi dico, due best practice:

  1. assicurati di limitare l'ambito dei cookie al percorso in cui vengono letti e scritti, (il terzo argomento del metodo setcookie () lo fa)
  2. dare ai cookie una sorta di convenzione di denominazione specifica per i cookie. Suggerisco un sito web inverso, come spazi dei nomi java, quindi ".". {Appname}. ".". {Friendly cookie name camel cased} Quindi, se il tuo sito è www.testsite.com e la tua app è foo e la tua variabile è "bar bar bar bar bar barann", sarebbe "com.testsite.foo.barBarBarBarBarBarann"

3
Hai visto alcune di queste pratiche in un sito web live?
Emanuil Rusev

0

Uso lo stile richiesto dagli standard di codifica per il progetto.

Generalmente preferisco camelCase per gli schemi di denominazione, ma quello con cui pagherò le bollette è quello con cui andrò.


0

Forse non ti piacerà la mia risposta:

Non utilizzare i tuoi cookie ma memorizza i dati nelle sessioni del server. Quindi hai solo bisogno di un cookie (per fare riferimento all'ID di sessione) e il modo in cui lo dai non ha alcun ruolo.


9
Ciò diventa complicato con i bilanciatori del carico, poiché la sessione dovrebbe essere archiviata in un database che non si trova sullo stesso host (o forse anche sullo stesso datacenter). A volte i biscotti vanno bene.
dotancohen

1
@dotancohen puoi fornire alcuni link riguardanti il ​​problema che descrivi? grazie!
Sharky

1
"Non usare i cookie" suona un po 'puritano; ma mi piace questo tentativo di mantenere le cose pulite per l'utente.
Parapluie

I securityecookies possono essere utilizzati in modo sicuro senza alcuna memorizzazione della sessione lato server. Non devono essere enormi (in realtà c'è un limite di 4k che è abbastanza modesto) ed evitano i bilanciatori del carico e / o le ricerche DB centralizzate.
colm.anseo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.