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.