Cookies e Sessions no HTTP
-
Upload
willian-watanabe -
Category
Technology
-
view
110 -
download
1
description
Transcript of Cookies e Sessions no HTTP
Cookies e SessionsWillian Massami Watanabe
1
Cookies
2
Cookies
3
• Mecanismos gerais para armazenar dados persistentes de navegação no lado cliente de uma aplicação web
• Estão associados a um determinado domínio de uma aplicação
• O servidor envia os Cookies e estes são armazenados como arquivos texto no computador
• Em toda requisição realizada por um navegador web os cookies relacionados ao domínio do destino da requisição são enviados
4
Usuário
Servidor
Servlet1
Login
Protegido por login
Sem Cookies
5
Usuário
Servidor
Servlet1
Login
Protegido por login
Requisição HTTP
Resposta HTTP
6
Usuário
Servidor
Servlet1
Login
Protegido por login
Sem Cookies
Requisição HTTP
Resposta HTTP
7
Usuário
Servidor
Servlet1
Login
Protegido por login
Sem Cookies
Requisição HTTP
Resposta HTTP
8
Usuário
Servidor
Servlet1
Login
Protegido por login
Cookies abobrinha=logado
Requisição HTTP
Resposta HTTP
9
Usuário
Servidor
Servlet1
Login
Protegido por login
Requisição HTTP
Resposta HTTP
Cookies abobrinha=logado
10
Usuário
Servidor
Servlet1
Login
Protegido por login
Requisição HTTP
Resposta HTTP
11
Exemplo
12
Servlet1
13
Login - doGet
14
Login - doGet
Login - doPost
15
Login - doGet
Login - doPost
Servlet1
Set-Cookies abobrinha=logado
Sem Cookies
Sem Cookies
16
Problemas• Por que cada cookie é associado a um domínio?
• É possível forjar um cookie?
• Como proteger os cookies?
• Posso armazenar quantos cookies eu quiser?
• Que outras utilidades os cookies podem ter?
Sessions
17
Sessions
18
• Mecanismos gerais para armazenar dados persistentes de navegação no lado servidor de uma aplicação web
• Utiliza-se de uma chave compartilhada entre o cliente e o servidor
• Cookies
• URL rewriting
19
Usuário
Servidor
Servlet1
Login
Protegido por login
Sem Cookies
20
UsuárioServlet1
Login
Protegido por login
Requisição HTTP
Resposta HTTP
Sessions JSESSIONID=qav…
21
Usuário
Servidor
Servlet1
Login
Protegido por loginCookies
JSESSIONID=qav…
Sessions JSESSIONID=qav…
22
Usuário
Servidor
Servlet1
Login
Protegido por login
Requisição HTTP
Resposta HTTP
Sessions JSESSIONID=qav…
23
Usuário
Servidor
Servlet1
Login
Protegido por login
Requisição HTTP
Resposta HTTPSessions
JSESSIONID=qav…
Cookies JSESSIONID=qav
…
24
Usuário
Servidor
Servlet1
Login
Protegido por login
Requisição HTTP
Resposta HTTPSessions
JSESSIONID=s4x…!logado = true!
usuario = watinha
Cookies JSESSIONID=s4x
…
25
Usuário
Servidor
Servlet1
Login
Protegido por login
Requisição HTTP
Resposta HTTP
Sessions JSESSIONID=s4x…!
logado = true!usuario = watinha
Cookies JSESSIONID=s4x
…
26
Usuário
Servidor
Servlet1
Login
Protegido por login
Requisição HTTP
Resposta HTTP
Sessions JSESSIONID=s4x…!
logado = true!usuario = watinha
27
Exemplo
28
Servlet1
29
Login - doPost
30
Login - doPost
Servlet1
Login - doGet
31
Login - doPost
Servlet1
Login - doGetCookies
JSESSIONID=qav…
Sessions JSESSIONID=qav…
Cookies JSESSIONID=qav
…
Sessions JSESSIONID=qav…
Sessions JSESSIONID=s4x…!
logado = true!usuario = watinha
Cookies JSESSIONID=s4x
…
32
Login - doPost
Servlet1
Login - doGetCookies
JSESSIONID=qav…
Sessions JSESSIONID=qav…
Cookies JSESSIONID=qav
…
Sessions JSESSIONID=qav…
Sessions JSESSIONID=s4x…!
logado = true!usuario = watinha
Cookies JSESSIONID=s4x
…
Servidor
Servidor
Servidor
Cliente
Cliente
Cliente
33
Problemas
• É possível forjar uma session?
• A session é mais segura que o cookie?
• Que outras utilidades as sessions podem ter?