Buscar
Programando por diversion HOME Lenguaje Linux Otros Web Windows Acerca de Archivos Contctanos Software SUSCRBETE VA RSS Home :: Web :: javascript :: Cookies con PHP y Javascript Categorias css html javascript net php
Muchas aplicaciones web modernas utilizan cookies para realizar tareas que mejoren la interaccin entre el usuario y el sistema. Es hora de que tu aprendas que son y como funcionan para que las puedas agregar a tus aplicaciones.
Qu es un cookie
Un cookie es simplemente una variable que se almacena en tu navegador (Internet Explorer, Firefox, Chrome, Safari, etc). La variable, al estar almacenada en tu navegador, ocupa un espacio de tu disco duro. Adems como est almacenada en tu mquina puedes borrarla y modificarla como mejor te parezca si es que sabes dnde buscar. Todos los navegadores modernos ofrecen la posibilidad de utilizar cookies as como tambin la posibilidad de bloquearlas.
14/06/12
En realidad, se pueden utilizar para lo que tu quieras. Sin embargo, te presento algunos de los usos ms comunes: Recordarme en este equipo. Cuando llegas a una pgina que te pide que ingreses usuario y contrasea, por lo general hay un campo que dice "Recordarme en este equipo" o "No cerrar sesin". Si activas este campo, puedes apagar tu PC y cuando la vuelvas a prender y entrar a esta pgina no necesitars ingresar tus datos otra vez, sino que el sistema se acordar de ti. Esto se debe a que al iniciar la sesin se agrega un cookie en tu navegador con tus datos y la prxima vez que intentes acceder a la pgina el sistema lee este cookie y automticamente sabe quien eres. Carritos de compras. Algunas pginas utilizan los cookies para los carritos de compras. Esta no es la mejor forma de utilizar cookies pero sin embargo algunas pginas las usan. La idea es que a medida que agregas artculos al carrito de compras, se modifica un cookie en tu mquina para que la prxima vez que ingreses tu carrito de compras se mantenga. Diseo de la pgina. Algunas pginas utilizan cookies para almacenar el tema que utilizas por defecto de tal forma que al ingresar a la pgina pueden mostrar de forma automtica tus colores preferidos.
Atributos de un cookie
Un cookie tiene los siguientes atributos: Nombre. El nombre que se utiliza para identificar al cookie. Puedes considerar este nombre como el nombre de tu variable. El nombre puede ser lo que tu quieras siempre y cuando sea una cadena de texto. Te recomiendo que nunca sea muy larga y muchas veces que no sea muy descriptiva por temas de seguridad que comentar ms adelante. Valor. Este es el valor que quieres almacenar. El valor puede ser cualquier cosa siempre y cuando sea una cadena de texto. Algunos navegadores tienen limitaciones en cuanto a su longitud as que ten esto en cuenta cuando las creas. Es recomendable nunca almacenar informacin confidencial en los cookies por temas de seguridad que comentar ms adelante. Fecha de expiracin. La fecha en la que expirar el cookie. Este atributo se utiliza para informarle al navegador hasta cuando debe mantener este cookie. Una vez pasada esta fecha de expiracin el navegador puede borrar el cookie. Algunas cookies no tienen lmite de tiempo por lo que se eliminarn cuando se cierre el navegador. La fecha se debe expresar en el formato Wdy, DD-Mon-YYYY HH:MM:SS ZZZ, donde Wdy es el da de la semana, DD es el da, Mon es el nombre del mes, YYYY es el ao, HH la hora, MM el minuto, SS el segundo y ZZZ la zona horaria. Ruta. La ruta en la que estar disponible el cookie. Por ejemplo, supongamos que tienes dos aplicaciones en un mismo servidor web, la primera en h t : / w . o i i . o / p 1y la segunda en h t : / w . o i i . o / p 2y quieres guardar cookies para cada tp/wwdmnocmap tp/wwdmnocmap una de ellas. En este campo colocaras / p 1para un cookie de la primera aplicacin y / p 2para un cookie de la segunda aplicacin. ap ap Tambin puedes colocar simplemente /para que el cookie est disponible en ambas aplicaciones. Dominio. El dominio indica el servidor al que le pertenece el cookie. Por ejemplo si tu servidor se encuentra en h t : / w . o i i . o este atributo tendra el valor w w d m n o c mpara identificarlo como el dueo del cookie. Ahora, si tp/wwdmnocm w.oii.o tienes sub dominios como por ejemplo h t : / n r n t d m n o c my h t : / t o d m n o c mtendras que colocar el valor tp/itae.oii.o tp/or.oii.o i t a e . o i i . o y o r . o i i . o respectivamente para que el cookie est identificado en cada sub dominio. Sin nrntdmnocm todmnocm embargo, tambin es posible colocar . o i i . o para que se considere que el cookie le pertenece a los tres subdominios (www, dmnocm intranet y otro). Conexin segura. Este atributo especifica si el cookie solo se debe utilizar en conexiones seguras HTTPS. Esto no significa que el cookie sea seguro, simplemente significa que el cookie solo se enviar si es que se est trabajando sobre una conexin HTTPS.
Peticin HTTP
Cada vez que tu navegador desea entrar a una pgina web enva un mensaje de tipo HTTP al servidor. Por ejemplo, para acceder a http://copstone.com manda una peticin como la siguiente:
GT/HT/. E TP11 Hs:cptn.o ot osoecm Cneto:ke-lv oncin epaie Ue-gn:Mzla50(idw;U WnosN 61 e-S srAet oil/. Wnos ; idw T .; nU) Acp:apiainxlapiainxtlxltx/tlq09tx/li;=.,mg/n,/;=. cet plcto/m,plcto/hm+m,ethm;=.,etpanq08iaepg**q05 Acp-noig gi,elt,dh cetEcdn: zpdfaesc Acp-agae e-Se;=. cetLnug: nU,nq08 Acp-hre:IO85-,t-;=.,;=. cetCast S-891uf8q07*q03
Esta cabecera envia informacin acerca del navegador, el lenguaje del mismo, los encoding y tipos de caracter que acepta, etc.
copstone.com/2010/03/cookies-con-php-y-javascript/ 2/13
14/06/12
Luego tu servidor, al recibir esta informacin decide que pgina web debe mostrar y genera la respuesta correspondiente (si es php o aspx, procesa tu cdigo en este lenguaje y devuelve el resultado). Una vez que se arm la respuesta (por lo general el cdigo HTML de la pgina resultado) se devuelve esta respuesta junto con una cabecera HTTP. Algo como esto:
HT/. 20O TP11 0 K Cnettp:tx/tl otn-ye ethm <tl hm> <ed<il>oa/il>/ed ha>tteHl<tte<ha> <oy bd> Hl mno! oa ud!! <bd> /oy <hm> /tl
Esta respuesta, en la cabecera HTTP indica que la peticin se proces correctamente (OK) y que se est devolviendo cdigo en formato html (text/html). Luego viene el contenido de la respuesta que equivale a tu pgina web.
2. El servidor procesa la peticin y genera la pgina web correspondiente. 3. El servidor devuelve la pgina web agregando un cookie en la cabecera HTTP.
HT/. 20O TP11 0 K Cnettp:tx/tl otn-ye ethm StCoi:pub=read cois eprsFi 3-e-002:95 GT pt=;dmi=cptn.o e-oke reaPub e oke; xie=r, 1Dc21 35:9 M; ah/ oan.osoecm <tl hm> <ed<il>oa/il>/ed ha>tteHl<tte<ha> <oy bd> Hl mno! oa ud!! <bd> /oy <hm> /tl
4. El navegador muestra la pgina web y almacena el cookie en tu disco duro. 5. En la siguiente peticin se manda la peticin HTTP junto con el cookie almacenado.
GT/HT/. E TP11
copstone.com/2010/03/cookies-con-php-y-javascript/ 3/13
14/06/12
Hs:cptn.o ot osoecm Cneto:ke-lv oncin epaie Coi:pub=read cois oke reaPub e oke .. .
6. El servidor procesa la peticin y genera la pgina web. La diferencia es que ahora cuenta con un cookie llamado prueba que tiene como valor la cadena Prueba de cookies. El servidor debe decidir como utilizar este cookie. 7. El servidor devuelve la pgina web, esta vez no es necesario enviar el cookie porque ya est guardado en el navegador.
HT/. 20O TP11 0 K Cnettp:tx/tl otn-ye ethm <tl hm> <ed<il>oa/il>/ed ha>tteHl<tte<ha> <oy bd> Hl mno! oa ud! T utm cnuafe"read cois! u lia osl u Pub e oke"! <bd> /oy <hm> /tl
Como puedes haber notado, para trabajar con cookies hay dos cosas que necesitas saber. La primera es cmo agregarlos y la siguiente es como consultarlos. Ahora que ya sabes como funciona un cookie te voy a ensear como manipularlos con PHP y tambin con Javascript. Es importante que tengas en cuenta que puedes mezclar la implementacin de cookies con PHP y Javascript. Por ejemplo puedes crear un cookie con PHP y consultarlo con Javascript o al revs. Tambin puedes utilizar solo PHP o solo Javascript. El nico inconveniente es que no todos los navegadores soportan o tienen activado Javascript.
Agregar un cookie
Para agregar un cookie, tienes que utilizar la funcin setcookie de PHP. Esta funcin recibe los parmetros en el mismo orden que se mencionaron los atributos de un cookie en la seccin anterior. La nica diferencia es que la fecha de expiracin se manda en formato numrico (Unix timestamp). La mayora de parmetros son opcionales y se colocarn de forma automtica dependiendo de la configuracin de tu servidor. Importante!! Como el cookie se debe mandar en la cabecera HTTP, es necesario que el cookie se coloque antes de que escribas cualquier cosa en tu pgina. Basta con que se mande un espacio en blanco para que el cookie no se coloque. Te muestro el cdigo de una pgina web sencilla que coloca 3 cookies:
<pp ?h stoke"rmroke,"ao dlcoi 1,tm(+60; ecoi(pieCoi" Vlr e oke " ie)30) stoke"eudCoi" "ao dlcoi 2,tm(+0) ecoi(sgnooke, Vlr e oke " ie)30; stoke"ecroke,"ao dlcoi 3,0; ecoi(treCoi" Vlr e oke " ) ? > <tl hm> <ed ha> <il>read cois/il> ttePub e oke<tte <ha> /ed <oy bd> Et pgn h argd 3cois sa ia a geao oke. <bd> /oy <hm> /tl
El primer cookie expirar en 1 hora, el segundo en 5 minutos y el tercero cuando se cierre el navegador.
Consultar un cookie
Para consultar un cookie hay que utilizar el arreglo global de PHP llamado $ C O I . Es importante que valides que el cookie exista antes de _OKE utilizarlo para evitar errores. Para verificar si el cookie existe basta con utilizar la funcin i s tque devuelve true si es que un valor est en el se arreglo.
copstone.com/2010/03/cookies-con-php-y-javascript/ 4/13
14/06/12
Por ejemplo, para obtener el valor del primerCookie del ejemplo anterior tendramos que hacer lo siguiente:
$aoCoi1=$COI[pieCoi"; vlroke _OKE"rmroke]
El problema con esta instruccin es que si el cookie no est asignado se producir un error por lo que deberamos hacer lo siguiente:
i (ist$COI[pieCoi")) f se(_OKE"rmroke] $aoCoi1=$COI[pieCoi"; vlroke _OKE"rmroke] es le $aoCoi1="; vlroke "
Ahora te voy a mostrar un ejemplo. Voy a modificar el cdigo del ejemplo Agregar un cookie para que solo coloque los cookies si es que no existen y adems para que imprima los valores de los cookies en la pgina web.
<pp ?h / Iiilzmsneta vrals / ncaiao usrs aibe $aoCoi1="; vlroke " $aoCoi2="; vlroke " $aoCoi3="; vlroke " / Otnmsoargmse coi dpninos eit on / beeo geao l oke eeded i xse o i (ist$COI[pieCoi")) f se(_OKE"rmroke] $aoCoi1=$COI[pieCoi"; vlroke _OKE"rmroke] es le stoke"rmroke,"ao dlcoi 1,tm(+60; ecoi(pieCoi" Vlr e oke " ie)30) / Otnmsoargmse coi dpninos eit on / beeo geao l oke eeded i xse o i (ist$COI[sgnooke] ) f se(_OKE"eudCoi") $aoCoi2=$COI[sgnooke] vlroke _OKE"eudCoi"; es le stoke"eudCoi" "ao dlcoi 2,tm(+0) ecoi(sgnooke, Vlr e oke " ie)30; / Otnmsoargmse coi dpninos eit on / beeo geao l oke eeded i xse o i (ist$COI[treCoi")) f se(_OKE"ecroke] $aoCoi3=$COI[treCoi"; vlroke _OKE"ecroke] es le stoke"ecroke,"ao dlcoi 3,0; ecoi(treCoi" Vlr e oke " ) ? > <tl hm> <ed ha> <il>read cois/il> ttePub e oke<tte <ha> /ed <oy bd> <pp ?h i (vlroke = ") f $aoCoi1 = " eh "eh argd e pie coi<r>; co S a geao l rmr okeb/" es le eh "lpie coi vl:".$aoCoi1."b/" co E rmr oke ae vlroke <r>; i (vlroke = ") f $aoCoi2 = " eh "eh argd e sgnocoi<r>; co S a geao l eud okeb/" es le eh "lsgnocoi vl:".$aoCoi2."b/" co E eud oke ae vlroke <r>; i (vlroke = ") f $aoCoi3 = " eh "eh argd e tre coi<r>; co S a geao l ecr okeb/" es le eh "ltre coi vl:".$aoCoi3."b/" co E ecr oke ae vlroke <r>; ? > <bd> /oy <hm> /tl
Prueba ahora tu pgina web y vers como los resultados van cambiando. La primera vez se agregan todos los cookies, la segunda vez se muestran todos los valores y no se agregan los cookies. Si esperas 5 minutos y vuelves a cargar la pgina vers que solo el segundo cookie se vuelve a agregar (se borr porque expir su tiempo). Si cierras el navegador y lo vuelves a abrir puedes ver que el tercer cookie se vuelve a crear y si borras todos los cookies (Opcin del navegador) los cookies se vuelven a crear en la prxima carga.
Modificar un cookie
Modificar un cookie es bastante simple. Lo nico que tienes que hacer es llamar al mtodo s t o k econ los mismos parmetros que cuando ecoi lo agregaste pero cambiando el valor.
copstone.com/2010/03/cookies-con-php-y-javascript/ 5/13
14/06/12
Ten en cuenta de que el tiempo de expiracin est cambiando por lo que el cookie ahora durar el tiempo especificado a partir del momento en el que se realiz la modificacin y no a partir del tiempo en que se cre. Te muestro un ejemplo que utiliza un cookie para contar la cantidad de veces que has entrado a la pgina.
<pp ?h / Iiilzmsneta vrals / ncaiao usrs aibe $otdr=0 cnao ; / Otnmse vlrdlcoi s e qeeit / beeo l ao e oke i s u xse i (ist$COI[cnao")) f se(_OKE"otdr] $otdr=ita(_OKE"otdr]; cnao nvl$COI[cnao") / Amnao e cnao e 1pr mra uavst ms / uetms l otdr n aa acr n iia a $otdr+ cnao+; / Argmse coi.S y eit etne sl s mdfcr / geao l oke i a xse nocs oo e oiia stoke"otdr,(tig$otdr tm( +30; ecoi(cnao" srn)cnao, ie) 0) ? > <tl hm> <ed ha> <il>read cois2/il> ttePub e oke <tte <ha> /ed <oy bd> <pp ?h i (cnao = 1 f $otdr = ) eh "ineio!Et e t pieavz; co Bevnd! sa s u rmr e" es le eh "oaor vz Y vn{cnao}vcsqensvsts; co Hl ta e! a a $otdr ee u o iia" ? > <bd> /oy <hm> /tl
Ahora prueba tu pgina. La primera vez que la cargues mostrar el texto de bienvenida y las siguientes veces el texto Hola otra vez y la cantidad de veces ir aumentando. Si esperas 5 minutos el cookie expirar y se mostrar otra vez el texto de bienvenida.
Eliminar un cookie
Eliminar un cookie tambin es sencillo. Lo que tienes que hacer es modificarlo pero asegurarte de que la fecha de expiracin est en el pasado. Esto lo puedes lograr restndole segundos al time() en lugar de sumndolos. En este caso como se va a eliminar, no importa el valor que le pases, solo importa el nombre del cookie a eliminar y el tiempo de expiracin. Te muestro el ejemplo que use en el Modificar un cookie pero ahora al llegar a la visita 20 se elimina el cookie para que vuelva a comenzar.
<pp ?h / Iiilzmsneta vrals / ncaiao usrs aibe $otdr=0 cnao ; / Otnmse vlrdlcoi s e qeeit / beeo l ao e oke i s u xse i (ist$COI[cnao")) f se(_OKE"otdr] $otdr=ita(_OKE"otdr]; cnao nvl$COI[cnao") / Amnao e cnao e 1pr mra uavst ms / uetms l otdr n aa acr n iia a $otdr+ cnao+; / Argmsmdfcmse coi ol eiiao. / geao/oiiao l oke o lmnms i (cnao <2) f $otdr 0 stoke"otdr,(tig$otdr tm( +30; ecoi(cnao" srn)cnao, ie) 0) es le stoke"otdr,"lvlrn ipra,tm( -30; ecoi(cnao" E ao o mot" ie) 0) ? > <tl hm> <ed ha> <il>read cois2/il> ttePub e oke <tte <ha> /ed <oy bd> <pp ?h i (cnao = 1 f $otdr = ) eh "ineio!Et e t pieavz; co Bevnd! sa s u rmr e"
copstone.com/2010/03/cookies-con-php-y-javascript/ 6/13
14/06/12
Ahora prueba refrescando la pgina varias veces. Cuando refresques por vez 21, notars que el cookie se elimin por lo que se regres el contador a 0 y te muestra otra vez el texto de bienvenida.
En realidad no estoy guardando un arreglo. Lo que estoy guardando son mltiples cookies con nombres con corchetes. Lo que sucede es que PHP permite interpretarlos como si fueran un arreglo.
Si quiero agregar 10 cookies, el proceso se puede volver bastante tedioso as que voy a crear una funcin en Javascript que funcione exactamente igual a la de PHP, inclusive la voy a llamar igual. La nica diferencia va a ser con la fecha de expiracin. En esta funcin voy a recibir la expiracin como la cantidad de minutos que quiero que dure en lugar de la fecha en la que quiero que expire. Aqu te va la funcin.
fnto stokenmr,vlr drcoMn rt) ucin ecoi(obe ao, uaini, ua
copstone.com/2010/03/cookies-con-php-y-javascript/ 7/13
14/06/12
{ vrcdn =nmr +""+ecdUIopnn(ao) a aea obe = noeRCmoetvlr; i (uaini ! 0 f drcoMn = ) { vrfca=nwDt(; a eh e ae) vrdrcoMl =drcoMn*6 *10; a uainii uaini 0 00 fcastiefcagtie)+drcoMl) eh.eTm(eh.eTm( uainii; cdn + " eprs"+fcatGTtig) aea = ; xie= eh.oMSrn(; } i (ua! ") f rt = " { cdn + " pt= +rt; aea = ; ah" ua } dcmn.oke=cdn; ouetcoi aea }
En esta funcin simplemente armo la cadena como la present anteriormente. Ten en cuenta que utilizo la funcin encodeURIComponent de Javascript que convierte los caracteres especiales en su representacin URI vlida. Hago esto para que puedas colocar valores como por ejemplo "Hola;Tu" en el cookie. Si colocase este valor tal y como te lo acabo de mostrar abra un ; en un lugar errneo y por lo tanto no se guardara todo el cookie sino solamente la palabra "Hola". Gracias al mtodo encodeURIComponent el valor "Hola;Tu" se convierte en "Hola%3BTu" que no interfiere con los puntos y comas de la cadena original. Con esta funcin agregar, modificar o eliminar un cookie es bastante simple y sigue las mismas normas que las de PHP. Te muestro un ejemplo de una pgina que agrega, modifica y elimina cookies usando la funcin que acabamos de crear llamada setcookie.
<tl hm> <ed ha> <il>read cois/il> ttePub e oke<tte <cit srp> fnto stokenmr,vlr drcoMn rt) ucin ecoi(obe ao, uaini, ua { / Au v e cdg d l fnin / qi a l oio e a uco } / Argrte cois / gea rs oke stoke"rmroke,"ao dlcoi 1,6,""; ecoi(pieCoi" Vlr e oke " 0 /) stoke"eudCoi" "ao dlcoi 2,5 ""; ecoi(sgnooke, Vlr e oke " , /) stoke"ecroke,"ao dlcoi 3,0 ""; ecoi(treCoi" Vlr e oke " , /) / Mdfc e sgnocoi / oiia l eud oke stoke"eudCoi" "uv vlr,6,""; ecoi(sgnooke, Neo ao" 0 /) / Eiia e pie coi / lmnr l rmr oke stoke"rmroke,"oipra,-,"" ""; ecoi(pieCoi" N mot" 5 /, /) <srp> /cit <ha> /ed <oy bd> <bd> /oy <hm> /tl
Esta pgina no muestra nada, simplemente juega con los cookies. Primero crea 3 cookies, luego modifica el segundo cookie y por ltimo elimina el primer cookie. Al cargar esta pgina los cookies que se guardan son: segundoCookie con valor "Nuevo valor" que expira en 1 hora y el tercerCookie con valor "Valor del cookie 3" que expira cuando cierres el navegador.
Consultar un cookie
Esta es la parte dificil. Las cookies no llegan separadas en Javascript sino que llegan todas como una cadena. Por ejemplo si tengo 3 cookies llamadas cookie1, cookie2 y cookie3 con valores val1, val2 y val3 respectivamente, el conjunto de estas cookies llega como la cadena coi1vl;coi2vl;coi3vl. oke=a1 oke=a2 oke=a3 Para que pruebes lo que te comento, agrega una lnea con el comando a e t d c m n . o k e al final del script del ejemplo anterior. lr(ouetcoi) El problema no es obtener los cookies, sino separar la cadena en partes para encontrar cada cookie. Lo que voy a hacer es una funcin que me devuelva un objeto con todas las cookies como atributos del objeto. Aqu te dejo la funcin:
copstone.com/2010/03/cookies-con-php-y-javascript/ 8/13
14/06/12
fnto gtoke( ucin ecois) { vroj=nwOjc(; a b e bet) vrlna =dcmn.okeslt""; a ies ouetcoi.pi(;) fr(a i0 ilna.egh i+ o vr =; <ieslnt; +) { vrpre =lna[]slt""; a ats iesi.pi(=) vrnmr =pre[] a obe ats0; vrvlr=dcdUIopnn(ats1)rpae"" "\"; a ao eoeRCmoetpre[].elc(', \') i (obelnt >0 f nmr.egh ) ea(oj"+nmr +"' +vlr+""; vl"b. obe =" ao ') } rtr oj eun b; }
Esta funcin crea un objeto en blanco. Luego parte la cadena de cookies en varias lneas usando el ; como separacin. Cada lnea estar en el formato nombre=valor. Ahora necesito recorrer todas las lneas y separar el nombre del valor. Una vez que he partido esta lnea obtengo el nombre que vendra a ser la parte[0] y luego el valor que est en la parte[1]. Nota que el valor lo decodifico ya que en el setcookie lo codifiqu. Adems reemplazo todos los caracteres de comilla simple por un backslash seguido por la comilla simple. Hago esto para que no se rompa la cadena en la funcin eval. Luego, si el nombre es vlido, agrego un atributo al objeto con el nombre del cookie y el valor del cookie. Al final devuelvo el objeto. Ahora para consumir un cookie simplemente tengo que llamar a esta funcin una vez y luego llamar a sus atributos. Por ejemplo, si estuvieran presentes las cookies primerCookie, segundoCookie y tercerCookie puedo obtener sus valores de la siguiente manera:
vroj=gtoke(; a b ecois) vrvl =ojpieCoi; a a1 b.rmroke vrvl =ojsgnooke a a2 b.eudCoi; vrvl =ojtreCoi; a a3 b.ecroke
Como puedes ver, el objeto ahora tiene los nombres de los cookies como atributos del objeto. Ten en cuenta que esto solo funciona en el caso de que los cookies tengan nombres sin espacios, comiencen con una letra y no tengan caracteres especiales.
14/06/12
ea(oj"+nmr +"' +vlr+""; vl"b. obe =" ao ') } rtr oj eun b; } / Iiilzmse cnao / ncaiao l otdr vrcnao =0 a otdr ; / Otnmse vlrdlcoi s e qeeit / beeo l ao e oke i s u xse vroj=gtoke(; a b ecois) i (b.otdr f ojcnao) cnao =pren(b.otdr; otdr asItojcnao) / Amnao e cnao e 1pr mra uavst ms / uetms l otdr n aa acr n iia a cnao+; otdr+ / Argmse coi.S y eit etcssl s mdfcr / geao l oke i a xse noe oo e oiia stoke"otdr,cnao.otig) 5 ""; ecoi(cnao" otdrtSrn(, , /) <srp> /cit <ha> /ed <oy bd> <cit srp> i (otdr= 1 f cnao = ) dcmn.rt(Bevnd! Et e t pieavz) ouetwie"ineio! sa s u rmr e"; es le dcmn.rt(Hl or vz Y vn"+cnao +"vcsqensvsts) ouetwie"oa ta e! a a otdr ee u o iia"; <srp> /cit <bd> /oy <hm> /tl
Seguridad
Cuando trabajes con cookies ten en cuenta los siguientes aspectos: El cookie es pblico. A pesar de que en teora el cookie solo se guarda en la mquina del usuario, es posible que tu usuario entre a tu pgina desde una PC pblica por lo que puede ser que deje sus cookies ah donde cualquier otro usuario las pueda obtener. NO guardes informacin privada en los cookies como por ejemplo contraseas, datos personales, etc. NO confies ciegamente en los cookies ya que estos se pueden modificar. Siempre valida que la informacin sea correcta. Por ejemplo, prueba modificar el valor del cookie contador del ltimo ejemplo por un valor negativo y mira como la pgina te dice "Ya van -10 veces que nos visitas". Adems supongamos que tu utilizas el cookie para premiar con US$100 a los usuarios que te visiten ms de 1,000,000 de veces. Puedo cambiar el valor del cookie por 1,000,000 en un segundo y ganarme US$100 en dos segundos. Encripta los valores. Una buena idea es encriptar los valores que guardes en el cookie. Si encriptas el valor del cookie, no significa que puedes guardar informacin sensible. Definitivamente ser ms difcil que alguien pueda leer esa informacin pero de todas maneras existe la posibilidad as que te recomiendo no dejarla. Los cookies puede que no estn activados en todos los navegadores. Siguiente artculo.Net u otra alternativa? Artculos similares Agregando Rewrite Rules a tu servidor web Introduccin a AJAX jQuery, un nuevo tipo de librera Javascript Encriptacin en PHP Archivos BAT Artculo AnteriorDefiniendo una clase en C#
Autor:
copstone.com/2010/03/cookies-con-php-y-javascript/
10/13
14/06/12
Comentarios (2)
guillem dice: octubre 22, 2010 a las 6:22 am Genial!!! Despus de estar buscando durante horas este artculo me ha sido de muchsima utilidad. Est todo explicado detalladamente y funciona a la perfeccin. Muchas gracias, muchas muchas! Responder Roger dice: diciembre 22, 2011 a las 5:58 pm Que buen post, y yo solo buscaba el jquery cookie, pero creo que ya no lo voy a necesitar Responder Gracias!!
Deja un comentario
Nombre (obligatorio) E-Mail (no ser publicado) (obligatorio) Pgina web Enviar
copstone en Facebook
ltimos artculos
Trabajando con Word en Visual Studio 2010 y C# ASP.NET y MVC 3Parte I Model View Controller Cmo crear una aplicacin multihilos (multithread). AutoResetEvent vs. BackgroundWorker en Visual Studio 2008, C# Manejando la Cultura en nuestras Aplicaciones
Etiquetas
.Net ADO.Net Aero AJAX apache API Aplicaciones C# cipher css Dibujo encriptacion Entorno Visual hash html iis javascript jQuery js Jump List Linux
mcrypt Mensajes MVC MySQL Notification PDF php regedit SendInput Servidor web SOA soap tabsheet T askbar TCSH T ray
copstone.com/2010/03/cookies-con-php-y-javascript/
11/13
14/06/12
Uno, dos, tres, cul es el nmero que obtendr esta vez?. No s si te ha pasado pero cuando deseo generar un nmero aleatorio, a veces, se convierte en un gran dolor de cabeza. No por lo difcil que puede resultar el comando o rutina a utilizar, sino porque siempre sale el mismo nmero, una y otra vez. Espero que al leer este artculo te pueda ayudar a resolver este problema.
Quieres proteger la informacin que envas por la red o que guardas en tu base de datos? Este es el artculo correcto. Aqu te enseo como encriptar/desencriptar cadenas de texto con PHP.
Sabes lo que sucede cuando invocamos una funcin?, Sientes que tu aplicacin es lenta a pesar que la diviste en funciones? Crees que tener muchas funciones en tu aplicacin es malo?. Resuelve tus dudas leyendo este post.
Las pginas web modernas hacen uso de AJAX para realizar peticiones al servidor y obtener nuevo contenido sin necesidad de cargar toda la pgina nuevamente. En este artculo voy a ensear como crear peticiones AJAX de forma nativa y responder a ellas de forma nativa y con PHP. Adems te mostrar como usar PHP para responder a peticiones AJAX.
ltimos comentarios
andres en Cmo crear una aplicacin multihilos (multithread). AutoResetEvent vs. BackgroundWorker en Visual Studio 2008, C# Yelinna en Seleccionar contenido vertical Yelinna en Punteros a Funciones Yelinna en Abrir aplicaciones externas desde C++ Yelinna en Interceptando los mensajes de windows
Calendario
marzo 2010 LM X J V S D 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 feb abr
Paginas de inters
Dot Cpp Netsei Top coder
Categoras
HOME Algoritmos (1) Artculos (23)
copstone.com/2010/03/cookies-con-php-y-javascript/ 12/13
14/06/12
Articulos (3) Consola (2) css (2) Entorno Visual (9) Hardware (1) html (2) javascript (5) Lenguaje (2) Linux (1) net (16) noticias (2) Otros (5) php (5) Productividad (28) Shell (3) Sintaxis (6) Trucos (9) Web (6) Windows (4)
Acerca de
Copstone significa "Piedra angular" y hemos decidido llamar as a nuestro Blog. Aunque a veces podemos discutir entre lo libre o lo pagado, que un lenguaje de programacin es mejor que otro, que entre verde, naranja o amarillo est el mejor color, hay algo que si compartimos y en el que estamos totalmente de acuerdo: la programacin es la piedra angular de un buen software. Conoce ms acerca de Copstone
Sugerencias
Este blog est dedicado a t y queremos darte siempre lo mejor as que si tienes alguna recomendacin o si te interesa que hablemos sobre algn tema en particular por favor no dudes en escribirnos. Escrbenos Copyright 2012 - Programando por diversion Subir
copstone.com/2010/03/cookies-con-php-y-javascript/
13/13