Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

[Tutorial] Cookies


macacomacaco
 Compartilhar

Posts Recomendados

E ae galera, eu andei pesquisando na net sobre Cookies, algumas coisas escrevi e a maioria foi resultado da pesquisa que fiz.

 

 

O que sÃÆ’£o Cookies?

Os Cookies sÃÆ’£o arquivos que sÃÆ’£o criados no seu HD atravÃÆ’©s de sites para que possa ser feita uma comunicaÃÆ’ÂÂ§ÃÆ’£o entre vocÃÆ’ªs. Como por exemplo, quando vocÃÆ’ª loga em algum site/fÃÆ’³rum e opÃÆ’ÂÂ§ÃÆ’£o de "Lembrar dados" ou algo assim estiver ativada, quando vocÃÆ’ª retornar ao mesmo lugar, vocÃÆ’ª nÃÆ’£o precisarÃÆ’¡ digitar os dados, pois eles ficaram gravados no Cookie e o site lÃÆ’ª essa informaÃÆ’ÂÂ§ÃÆ’£o.

Resumindo, os sites geralmente usam os cookies para distinguir usuÃÆ’¡rios, contar o nÃÆ’ºmero de visitantes e memorizar preferÃÆ’ªncias.

 

Como restringir, permitir uso de Cookies?

Apesar de facilitar a vida em alguns casos, os cookies podem causar dores de cabeÃÆ’§a, pois existem tÃÆ’©cnicas de roubo de cookies, alÃÆ’©m de que se vocÃÆ’ª sofrer algum tipo de invasÃÆ’£o e tiver seu cookie roubado, o invasor poderÃÆ’¡ usÃÆ’¡-lo, assim o site pensarÃÆ’¡ que ELE ÃÆ’© VOCÃÆ’Å .. Sendo assim, tendo acesso ÃÆ’  suas coisas, como conta de email, fÃÆ’³rum, entre outros..

Em alguns sites torna-se obrigatÃÆ’³rio o uso de Cookies para que possa ser feito algumas aÃÆ’ÂÂ§ÃÆ’µes, entÃÆ’£o vocÃÆ’ª pode restringir o uso deles apenas para sites confiÃÆ’¡veis.

Aprenda a mudar essas configuraÃÆ’ÂÂ§ÃÆ’µes:

 

Internet Explorer 6 (Windows XP)

1- Acesse o menu Ferramentas em seguida OpÃÆ’ÂÂ§ÃÆ’µes da Internet...

2- Selecione a aba Privacidade

3- Mova o controle deslizante (alavanca) para a opÃÆ’ÂÂ§ÃÆ’£o MÃÆ’©dia ou Baixa

4- Ainda nesta tela, clique no botÃÆ’£o Sites...

5- Em Sites da Web gerenciados vocÃÆ’ª pode permitir ou nÃÆ’£o sites de usarem cookies em seu sistema.

6- ApÃÆ’³s feito as mudanÃÆ’§as desejadas clique no botÃÆ’£o Aplicar e em seguida em Ok

7- Feche todas as janelas do IE e reinicie-o.

 

Internet Explorer 6

1- Acesse o menu Ferramentas em seguida OpÃÆ’ÂÂ§ÃÆ’µes da Internet...

2- Selecione a aba Privacidade

3- Mova o controle deslizante (alavanca) para a opÃÆ’ÂÂ§ÃÆ’£o MÃÆ’©dia ou Baixa

4- Ainda nesta tela, clique no botÃÆ’£o Editar... no item Sites da Web.

5- Em Sites da Web gerenciados vocÃÆ’ª pode permitir ou nÃÆ’£o sites de usarem cookies em seu sistema.

6- ApÃÆ’³s feito as mudanÃÆ’§as desejadas clique no botÃÆ’£o Aplicar e em seguida em Ok

7- Feche todas as janelas do IE e reinicie-o.

 

FireFox 1.5.0.2

1- Acesse o menu Ferramentas em seguida OpÃÆ’ÂÂ§ÃÆ’µes

2- Selecione a opÃÆ’ÂÂ§ÃÆ’£o Privacidade e depois selecione a aba Cookies

3- Configure como queira, se quiser bloquear ou permitir sites clique em PermissÃÆ’µes...

4- Ainda nesta tela, clique no botÃÆ’£o Fechar e depois em Ok.

5- Feche todas as janelas do Firefox e reinicie-o.

 

Para outros navegadores, normalmente o processo ÃÆ’© semelhante, se tiver dificuldades procure documentaÃÆ’ÂÂ§ÃÆ’µes no prÃÆ’³prio browser ou entÃÆ’£o use o Google

 

Como funcionam os Cookies?

- Quando o servidor deseja ativar um cookie no cliente, envia uma linha no cabeÃÆ’§alho HTTP iniciada por Set-Cookie: ...

- A partir desse momento, consoante as opÃÆ’ÂÂ§ÃÆ’µes especificadas pelo cookie, o cliente irÃÆ’¡ enviar no seu cabeÃÆ’§alho HTTP dos pedidos uma linha contendo os cookies relevantes, iniciada por Cookie: ....

 

Entre os parÃÆ’¢metros dos cookies estÃÆ’£o: o tempo de vida (a data para o cookie expirar a validade) e o domÃÆ’­nio, ou grupo de pÃÆ’¡ginas a que o cookie se aplica. Por exemplo, ÃÆ’© possÃÆ’­vel fazer com que um cookie seja aplicado apenas a endereÃÆ’§os iniciados por

É necessário se cadastrar para acessar o conteúdo.
de maneira que esse mesmo cookie jÃÆ’¡ nÃÆ’£o se aplique para
É necessário se cadastrar para acessar o conteúdo.
, por exemplo.

 

Se nÃÆ’£o especificada a data de validade para o cookie, ele irÃÆ’¡ expirar assim que o usuÃÆ’¡rio fechar o navegador.

 

O que ÃÆ’© Cookie Poisoning?

O ataque conhecido como cookie poisoning(ou envenenamento de cookie), envolve a modificaÃÆ’ÂÂ§ÃÆ’£o de dados do cookie, com o objetivo de burlar mecanismos de seguranÃÆ’§a. Usando o cookie poisoning, a pessoa pode obter acesso nÃÆ’£o autorizado a informaÃÆ’ÂÂ§ÃÆ’£o sobre outro usuÃÆ’¡rio e roubar sua identidade.

 

Esse tipo de ataque de fato ÃÆ’© um "parameter tampering attack", ou seja, ataque de alteraÃÆ’ÂÂ§ÃÆ’£o de parÃÆ’¢metro. Em muitos casos ÃÆ’© mais ÃÆ’ºtil do que outros ataques desse tipo, pois programadores armazenam informaÃÆ’ÂÂ§ÃÆ’µes "sensÃÆ’­veis" no chamado, cookie invisÃÆ’­vel.

Por exemplo, considere a seguinte requisiÃÆ’ÂÂ§ÃÆ’£o:

CitaÃÆ’ÂÂ§ÃÆ’£o:

GET /store/buy.asp?checkout=yes HTTP/1.0

Host:

É necessário se cadastrar para acessar o conteúdo.

Accept: */*

Referrer:

É necessário se cadastrar para acessar o conteúdo.

Cookie: SESSIONID=570321ASDD23SA2321; BasketSize=3; Item1=2892; Item2=3210; Item3=9942; TotalPrice=16044;

 

 

 

Nesse exemplo, a pÃÆ’¡gina dinÃÆ’¢mica requisitada pelo browser ÃÆ’© chamada de buy.asp e o browser envia o parÃÆ’¢metro checkout para o webserver com o valor yes, indicando que o usuÃÆ’¡rio deseja finalizar a compra. A requisiÃÆ’ÂÂ§ÃÆ’£o inclui o cookie que contÃÆ’©m os seguintes parÃÆ’¢metros:

SESSIONID ÃÆ’© a identificaÃÆ’ÂÂ§ÃÆ’£o ÃÆ’ºnica que associa o usuÃÆ’¡rio ao site.

BasketSize sÃÆ’£o quantos itens tem na compra.

Itemx ÃÆ’© o preÃÆ’§o de cada item.

TotalPrice como estÃÆ’¡ na cara, ÃÆ’© o preÃÆ’§o total da compra.

 

Quando executado pelo webserver o buy.asp pega o cookie do usuÃÆ’¡rio, analisa os parÃÆ’¢metros e cobra na conta do usuÃÆ’¡rio de acordo com o parÃÆ’¢metro TotalPrice. Nisso o atacante poderia mudar, por exemplo, esse valor total para obter um "desconto especial".

Existem outros ataques de parÃÆ’¢metros como SQL Injection, cross-site scripting, entre outros que podem ser executados usando cookie poisoning.

 

Prevenindo esse tipo de ataque (inglÃÆ’ªs)

 

Como trabalhar com Cookies?

Usar cookies envolve algumas limitaÃÆ’ÂÂ§ÃÆ’µes, as mais importantes:

(Essas informaÃÆ’ÂÂ§ÃÆ’µes sÃÆ’£o de 2004, talvez tenha mudado alguma coisa, nÃÆ’£o posso dar certeza.)

1 - NinguÃÆ’©m tem um browser amistoso para com cookies.

2 - NinguÃÆ’©m que tenha um browser amistoso para com cookies escolhe aceitar cookies. (a maioria nÃÆ’£o o faz).

3 - Cada domÃÆ’­nio pode ter apenas 20 cookies (portanto, use-os com parcimÃÆ’´nia).

4 - Os cookies nÃÆ’£o podem exceder os 4 kilobytes. Isso ÃÆ’© pouco mais que 4.000 caracteres - na verdade, muito.

5 - Um Website sÃÆ’³ pode configurar e ler seus prÃÆ’³prios cookies(por exemplo, o Hotmail nÃÆ’£o pode ler os cookies da Yahoo).

 

Configurar um cookies bÃÆ’¡sico ÃÆ’© simples; simplesmente crie uma string no formulÃÆ’¡rio cookie_nome=valor e depois ajuste a propriedade document.cookie para aquela string. Felizmente, as funÃÆ’ÂÂ§ÃÆ’µes escape() e unescape() codificarÃÆ’£o e decodificarÃÆ’£o cookies, assim vocÃÆ’ª nÃÆ’£o precisa se preocupar com essa restriÃÆ’ÂÂ§ÃÆ’£o.

 

Exemplo:

CitaÃÆ’ÂÂ§ÃÆ’£o:

function setarCookie()

{

var o_nome = prompt("Qual ÃÆ’© o seu nome?".""); // linha 1

var o_cookie = "nome=" + escape(o_nome); // linha 2

document.cookie = o_cookie; // linha 3

alert("Obrigado!");

}

 

 

 

Esse ÃÆ’© um exemplo simples que armazena o nome de um visitante e um cookie chamado nome. A primeira linha da funÃÆ’ÂÂ§ÃÆ’£o pede por um nome do visitante e o salva em o_nome. A segunda cria a string para armazenar o cookie. A funÃÆ’ÂÂ§ÃÆ’£o escape() substitui caracteres que os cookies nÃÆ’£o podem lidar por caracteres legais. Por exemplo, se eu entrasse como paulo filipe na apresentaÃÆ’ÂÂ§ÃÆ’£o, essa linha criaria a string nome=paulo%20filipe. O sinal de porcentagem e 20(%20) substituem o espaÃÆ’ÂÂ§ÃÆ’µ entre paulo e filipe. A linha 3 configura o cookie. Para garantir que vocÃÆ’ª configurou um cookie, digite o seguinte em sua barra de localizaÃÆ’ÂÂ§ÃÆ’£o do browser:

 

java script:alert(document.cookie)

 

Para vocÃÆ’ª identificar o usuÃÆ’¡rio, vocÃÆ’ª precisa ler o cookie, veja um exemplo abaixo:

CitaÃÆ’ÂÂ§ÃÆ’£o:

function lerCookie()

{

var o_cookie = document.cookie; // linha 1

var quebra_de_linha = o_cookie.split("="); //linha 2

var o_nome = quebra_de_linha[1]; // linha 3

var o_nome = unescape(o_nome); // linha 4

alert("Seu nome ÃÆ’©: "+ o_nome);

}

 

 

 

A primeira linha no exemplo ÃÆ’© a importante. Sempre que o seu browser abre uma pÃÆ’¡gina da Web, o browser le quaisquer cookies que o site tenha armazenado em sua mÃÆ’¡quina e os carrega na propriedade document.cookie .

A parte ardilosa sobre a leitura de cookies ÃÆ’© obter exatamente as informaÃÆ’ÂÂ§ÃÆ’µes que vocÃÆ’ª deseja deles. No exemplo, tudo depois da primeira linha da funÃÆ’ÂÂ§ÃÆ’£o puxa o nome do usuÃÆ’¡rio para fora do cookie. Uma vez que a 1ª obtÃÆ’©m o cookie, a 2ª rompe o cookie em um array de dois elementos, usando o mÃÆ’©todo split() .

 

O primeiro elemento no array consiste de tudo no cookie antes do sinal de igual (=). Nesse caso, ÃÆ’© nome, assim aquele ÃÆ’© o primeiro elemento no array. O segundo elemento no array ÃÆ’© tudo depois do sinal de igual, que ÃÆ’© filipe%20. A 3ª agarra essa string a partir do array e armazena em the_name, e a 4ª decodifica the_name com a funÃÆ’ÂÂ§ÃÆ’£o unescape() , trocando %20 por um espaÃÆ’§o.

 

Para saber mais informaÃÆ’ÂÂ§ÃÆ’µes sobre o uso do Cookie com javascript/html visite:

CodigoFonte - Cookies 1

CodigoFonte - Cookies 2

 

Em ASP, podemos utilizar cookies utilizando os objetos Response e Request:

 

Para gravar o cookie Response.Cookies("nomedocookie")

Para definir a validade do cookie Response.Cookies("momedocookie").Expires = DateAdd("d", 365, Now())

Utilize o DateAdd para adicionar uma data. No exemplo acima, adicionamos 365 dias, o que equivale a um ano.

Para definir o domÃÆ’­nio Response.Cookies("nomedocookie").Domain = "www.seusite.com"

Para definir o grupo de pÃÆ’¡ginas que o cookie se aplica Response.Cookies("nomedocookie").Path = "/wikipediarox"

Se definido como "/" todo o site poderÃÆ’¡ acessar o cookie.

Se quiser, hÃÆ’¡ como adicionar vÃÆ’¡rios valores ao cookie Response.Cookie("nomedocookie")("nomedovalor") = "valor"

Para ler o cookie, utilize o objeto Request. Exemplo: variavel = Request.Cookie("nomedocookie")

E para ler valores variavel = Request.Cookie("nomedocookie")("nomedovalor")

 

Se vocÃÆ’ª quer saber como utilizar Cookies em PHP, leia essa ÃÆ’³tima documentaÃÆ’ÂÂ§ÃÆ’£o:

PHP Cookie

 

Fontes de pesquisa: Terra, Microsoft, DireitoNet, Wikipedia, iMPERVA, CÃÆ’³digoFonte

 

Bom ÃÆ’© isso, espero que ajude a desmistificar um pouco os Cookies e ajudar na compreensÃÆ’£o sobre os mesmos, para mim ajudou bastante essa pesquisa pois tambÃÆ’©m aprendi diversas coisas.

 

ComentÃÆ’¡rios, dÃÆ’ºvidas, crÃÆ’­ticas, postem ae.

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois...
Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.