[Cascavel-pm] Cookies

Luis Motta Campos monsieur_champs em yahoo.com.br
Quarta Abril 19 12:31:36 PDT 2006


Thomas Britis wrote:
> Senhores,
> 
> 	Tenho um pequeno problema e preciso da ajuda de vocês.
> 
> 	Tenho alguns CGI em perl que requerem um cookie setado para validar a 
> sessão (por meio de um form de login). Até aí tudo bem.
> 
> 	Acontece que preciso utilizar esses cgi's em páginas distintas, porém, 
> sempre chamando do mesmo local, ou seja:
> 	Os CGI's estarão sempre em: www.x.com.br/cgi-bin/cgi.pl
> 	Após o login, o usuário é redirecionado para uma página em html que 
> pode estar em qualquer outro domínio e, essa página abre um frame 
> chamando o cgi do domínio x.com.br.
> 
> 	O problema é que: quando o cgi (www.x.com.br/cgi-bin/cgi.pl) é chamado 
> de outro domínio (por ex: www.y.com.br), quando tento ler o cookie é 
> como se não houvesse nada setado (creio eu que o perl tenta ler os 
> cookies do domínio y.com.br e não do x.com.br como deveria) e a sessão é 
> invalidada.
> 
> 	Tentei então setar o cookie no login do domínio de onde vem o login (e 
> não onde está o cgi), porém, sem sucesso. Acho que o navegador não deixa 
> eu setar um cookie de um domínio alheio.
> 
> 	Alguem já passou por situação parecida ou tem alguma luz ?

   Eu tenho alguma experiência com cookies, mas acho que não vai 
conseguir isso usando cookies para validar sessões.
   Cookies tem limitações de especificação muito limitantes, por 
questões de segurança, com relação a que websites podem recuperar as 
informações.

   Não sei se isso é possível, mas acho que o melhor conselho que eu 
posso te dar agora é: tente mudar seu sistema de passagem de informações 
de sessão para usar sessões Server-Side (isto é, armazene apenas um 
identificador de sessão no browser) e tente não usar cookies: ao invés 
disso, use um parâmetro GET ou um HTML HIDDEN INPUT (tag /input/, tipo 
/hidden/) para armazenar esta chave de sessão.

   Se isso não for possível, eu recomendo fortemente a leitura e 
compreensão da RFC 2109, "HTTP State Management Mechanism", a 
especificação oficial de HTTP Cookies. Por se tratar de uma 
funcionalidade bem antiga, a maior parte dos browsers já a implementa 
consistentemente.

   http://www.ietf.org/rfc/rfc2109.txt

   Espero que isso ajude.
   Se precisar, posso tentar ajudar a estudar e descobrir uma solução 
baseada em cookies. Mas isso vai custar algum tempo. Me contate off-list 
e conversamos.

   Putamplexos!
-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  Luis Motta Campos is Software Engineer, Oracle OCP/DBA, Un*x
  Sysadmin, Member of {Lisbon,São Paulo,Cascavel,Brasil,London}
  Perl Mongers and Perl Fanatic Evangelist
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

		
_______________________________________________________ 
Abra sua conta no Yahoo! Mail: 1GB de espaço, alertas de e-mail no celular e anti-spam realmente eficaz. 
http://br.info.mail.yahoo.com/


Mais detalhes sobre a lista de discussão Cascavel-pm