Modulo do apache para criar cookies

5 respostas
danielbchaves

Preciso criar cookie para todos os que acessarem as páginas de um site, porém as páginas ficam cacheadas em disco, logo, o usuário quando acessa não chega no weblogic para eu poder criar um cookie…

alguém sabe dizer se o apache tem alguma forma ou extensão para criar cookie?

5 Respostas

Maniezo

Você precisa criar os header de no-cache na pagina para que não crie cache…

danielbchaves

as páginas não ficam cacheadas no browser… o problema é que nós cachemos ela em disco pra não gerar novamente

Maniezo

Então grava o cookie via javascript que ai rola pois a função que grava o cookie estara em cache…

danielbchaves

preciso que o cookie possua um valor único por usuário, teria como gerar um id único em javascript, e teria como eu saber se quem abriu a página já possui o cookie?

Maniezo

Para conseguir um id unico você pode fazer algum calculo usando como base o timestamp do date incrementando um rand de numero de uns 6 digitos, assim garante que nunca terão 2 com o mesmo, quer dizer a probabilidade é muito pequena, para saber se ja existe é so usar um if perguntando se tem…

Função para gravar cookie e buscar cookie em javascript:

function setCookie(name, value, path, domain, secure) {
 var expires = new Date();
 var futuro = expires.getTime()+(10*60*60*1000);
 expires.setTime(futuro);
 var curCookie = name + "=" + escape(value) +
	 ((expires) ? "; expires=" + expires.toGMTString() : "") +
	 ((path) ? "; path=" + path : "") +
	 ((domain) ? "; domain=" + domain : "") +
	 ((secure) ? "; secure" : ""); 
	 document.cookie = curCookie;
}
function getCookie(name) {
 var dc = document.cookie;
 var prefix = name + "=";
 var begin = dc.indexOf("; " + prefix);
 if (begin == -1) {
 begin = dc.indexOf(prefix);
 if (begin != 0) return null;
 } else
 begin += 2;
 var end = document.cookie.indexOf(";", begin);
 if (end == -1)
 end = dc.length;
 return unescape(dc.substring(begin + prefix.length, end));
 
}
Criado 6 de junho de 2008
Ultima resposta 6 de jun. de 2008
Respostas 5
Participantes 2