A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Tecnologia para Web Cookies

Apresentações semelhantes


Apresentação em tema: "Tecnologia para Web Cookies"— Transcrição da apresentação:

1 Tecnologia para Web Cookies
Enrique Pimentel Leite de Oliveira

2 Visão Geral “Cookies fornecem um meio de aplicativos da Web para armazenar informações específicas de usuário” Por exemplo, armazenar as preferências do usuário de uma site para que, ao retornar ao site, a aplicação possa recuperar as informações armazenadas anteriormente.

3 O que são cookies? Um cookie é um pequeno arquivo de texto (normalmente 4096 bytes) que acompanha solicitações e páginas à medida que eles vão entre o servidor Web e navegador do cliente. O cookie contém informações que o aplicativo Web poderá ler sempre que o usuário visitar o site.

4 Limitações do Cookie A maioria dos navegadores dão suporte para cookies de até 4096 bytes Devido a esse limite, normalmente são armazenados apenas um identificador, como por exemplo nome de usuário A maioria dos navegadores permite apenas 20 cookies por site Se tentar armazenar mais, os cookies mais antigos serão descartados Alguns navegadores também colocam um limite absoluto, geralmente 300 cookies para todos os sites visitados

5 Mitos sobre cookies Um cookie pode descobrir ou informações pessoais. Falso. Um cookie só tem informações que já foram fornecidas ou podem ser obtidas facilmente pelos sites. Cookies podem transmitir vírus ou spyware. Falso. Um cookie não contém código, é apenas um pequeno texto. Os cookies podem rastrear os sites que visito. Em termos. O valor de um cookie é acessível apenas ao site ao qual pertence. Mas se o site X usa uma imagem (ou outro recurso qualquer) de um site Y, o site Y poderá saber se você já o visitou antes no instante em que você visita o site X.

6 Gravando cookies O navegador é responsável por gerenciar cookies em um sistema de usuário Cookies são enviados para o navegador através do objeto HttpResponse que expõe uma coleção chamada Cookies Ao criar um cookie, deve-se especificar um Name e um Value Cada cookie deve ter um nome exclusivo para que ele possa ser identificado posteriormente quando lido a partir do navegador

7 Gravando cookies Pode-se também definir uma data de expiração
Cookies expirados são excluídos pelo navegado É possível definir a data de validade de um cookie para ser de 50 anos a partir de sua criação Se a expiração de do cookie não for definida, ele será criado mas não será armazenado no disco rígido do usuário Em vez disso, o cookie será mantido como parte das informações de sessão do usuário, assim que o usuário fechar o navegador, o cookie será descartado

8 Gravando cookies Duas forma para armazenar cookies:
Response.Cookies["userName"].Value = “jonas"; Response.Cookies["userName"].Expires = DateTime.Now.AddDays(1); HttpCookie aCookie = new HttpCookie("lastVisit"); aCookie.Value = DateTime.Now.ToString(); aCookie.Expires = DateTime.Now.AddDays(1); Response.Cookies.Add(aCookie);

9 Gravando cookies Cookies com mais de um valor
Response.Cookies["userInfo"]["userName"] = “jonas"; Response.Cookies["userInfo"]["lastVisit"] = DateTime.Now.ToString(); Response.Cookies["userInfo"].Expires = DateTime.Now.AddDays(1); HttpCookie aCookie = new HttpCookie("userInfo"); aCookie.Values["userName"] = “jonas"; aCookie.Values["lastVisit"] = DateTime.Now.ToString(); aCookie.Expires = DateTime.Now.AddDays(1); Response.Cookies.Add(aCookie);

10 Lendo cookies Quando um navegador faz uma solicitação para o servidor, ele envia os cookies para esse servidor junto com a solicitação Em aplicativos ASP.NET, pode-se ler os cookies usando o objeto HttpResquest, que está disponível como a propriedade Request de sua classe Page if(Request.Cookies["userName"] != null) Label1.Text=Server.HtmlEncode(Request.Cookies["userName"].Value); if(Request.Cookies["userName"] != null) { HttpCookie aCookie = Request.Cookies["userName"]; Label1.Text = Server.HtmlEncode(aCookie.Value); }

11 Lendo cookies Observe também que o método HtmlEncode foi chamado para codificar o conteúdo de um cookie antes de exibi-lo na página Isso garante que um usuário mal-intencionado não adicionou script executável no cookie

12 Lendo Cookies Leitura de subchaves
if(Request.Cookies["userInfo"] != null) { Label1.Text=Server.HtmlEncode(Request.Cookies["userInfo"]["userName"]); Label2.Text=Server.HtmlEncode(Request.Cookies["userInfo"]["lastVisit"]); }

13 Lendo coleções de cookies
System.Text.StringBuilder output = new System.Text.StringBuilder(); HttpCookie aCookie; for(int i=0; i<Request.Cookies.Count; i++) { aCookie = Request.Cookies[i]; output.Append("Cookie name = " + Server.HtmlEncode(aCookie.Name) + "<br />"); output.Append("Cookie value = " + Server.HtmlEncode(aCookie.Value) + "<br /><br />"); } Label1.Text = output.ToString();

14 Lendo coleções com subchaves
for(int i=0; i<Request.Cookies.Count; i++) { aCookie = Request.Cookies[i]; output.Append("Name = " + aCookie.Name + "<br />"); if(aCookie.HasKeys) { for(int j=0; j<aCookie.Values.Count; j++) { subkeyName=Server.HtmlEncode( aCookie.Values.AllKeys[j]); subkeyValue=Server.HtmlEncode(aCookie.Values[j]); output.Append("Subkey name = " + subkeyName + "<br />"); output.Append("Subkey value = " + subkeyValue + "<br /><br />"); } else { output.Append("Value="+Server.HtmlEncode(aCookie.Value) + "<br /><br />"); Label1.Text = output.ToString();

15 Exercício Criar um programa que salve em um cookie as opções selecionadas por um usuário na página e depois carregue as opções selecionadas em um listbox, conforme exemplo:

16 Bibliografia Ler artigo:


Carregar ppt "Tecnologia para Web Cookies"

Apresentações semelhantes


Anúncios Google