2010-01-19 10 views
77

¿Cómo deberían ser los nombres de las cookies?
Denominación de cookies: prácticas recomendadas

en caso de ser:

  • lower_case
  • CamelCase
  • Underscore_Camel_Case
  • upper_case

O deberían ser otra cosa?

+1

¡Buena pregunta! Lo votaría mejor si me quedaran votos. –

+1

@Pekka: He votado por ti. Yo también lo revalidaría, pero solo puedo votar una vez :( –

+2

@Bran, subí por ti ya que obtuve nuevos votos en unos minutos. Oh, pero iba a votar por esto también ... Dios mío. –

Respuesta

49

appname_meaningfulname

+2

¿Por qué el prefijo 'appname'? –

+9

@Emanuil: para distinguirlo de todas las otras cookies generadas por otras aplicaciones en el mismo dominio. –

+2

@Emanuil Rusev, los complementos del navegador algunas veces establecen cookies.Lo aprendí de la manera más difícil cuando mi sitio web recogió una cookie y obtuvo los datos establecidos por el complemento del usuario en lugar de los datos establecidos por mi sitio. – lala

0

que usar cualquier estilo de los estándares de codificación para el llamado proyecto para.

En general, prefiero camelCase para los esquemas de nombres, pero el que paga las facturas es el que voy a ir.

2

Tal vez no te gusta mi respuesta:

no utiliza sus propias cookies, pero almacenar datos en sesiones de servidor. Por lo tanto, solo necesita una cookie (para hacer referencia al ID de la sesión) y cómo su nombre no cumple ninguna función.

+6

Eso se vuelve complicado con los equilibradores de carga, ya que la sesión debería almacenarse en una base de datos que no está en el mismo host (o incluso en el mismo centro de datos). A veces las cookies están bien. – dotancohen

+1

@dotancohen puede proporcionar algunos enlaces sobre el problema que describe? ¡gracias! – Sharky

+0

** "No utilizar cookies" ** suena un poco puritano; pero me gusta este intento de mantener las cosas limpias para el usuario. – Parapluie

7

Tenga en cuenta que esta cookie se envía con cada solicitud, así que, solo use el nombre más pequeño que pueda, y documente bien su código.

4

Debe evitar conflictos de nombres con los parámetros arbitrarios _GET y _POST que pueda estar usando, ya que _REQUEST ajusta las tres matrices globales (!), Con precedencia según la configuración de variables_order en php.ini. En otras palabras, si tiene una _COOKIE llamada "x" y una querystring param llamada "x", y usted solicita $ _REQUEST ["x"], obtiene el valor de la cookie cuando pueda querer/esperar el parámetro GET. Esto es especialmente problemático si sus cookies están ubicadas en el directorio raíz "/" de su sitio web, y no en la carpeta donde se consumen.

Por eso digo, dos mejores prácticas:

  1. asegúrese de limitar el alcance de sus galletas a la ruta en la que se leen y escriben, (método tercer argumento de setcookie() hace esto)
  2. dé a sus cookies algún tipo de convención de nomenclatura específica para cookies. Sugiero el sitio web inverso, como los espacios de nombres de Java, y luego ".". {Appname}. ".". {Friendly cookie name camel caseed} Por lo tanto, si su sitio es www.testsite.com, y su aplicación es foo, y su variable es "bar bar bar bar bar barann", sería "com.testsite.foo.barBarBarBarBarBarann"
+2

¿Has visto algunas de estas prácticas en un sitio web en vivo? –

Cuestiones relacionadas