Cookies e Sessions no HTTP

33
Cookies e Sessions Willian Massami Watanabe 1

description

Cookies e Sessions no HTTP

Transcript of Cookies e Sessions no HTTP

Page 1: Cookies e Sessions no HTTP

Cookies e SessionsWillian Massami Watanabe

1

Page 2: Cookies e Sessions no HTTP

Cookies

2

Page 3: Cookies e Sessions no HTTP

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

Page 4: Cookies e Sessions no HTTP

4

Usuário

Servidor

Servlet1

Login

Protegido por login

Sem Cookies

Page 5: Cookies e Sessions no HTTP

5

Usuário

Servidor

Servlet1

Login

Protegido por login

Requisição HTTP

Resposta HTTP

Page 6: Cookies e Sessions no HTTP

6

Usuário

Servidor

Servlet1

Login

Protegido por login

Sem Cookies

Requisição HTTP

Resposta HTTP

Page 7: Cookies e Sessions no HTTP

7

Usuário

Servidor

Servlet1

Login

Protegido por login

Sem Cookies

Requisição HTTP

Resposta HTTP

Page 8: Cookies e Sessions no HTTP

8

Usuário

Servidor

Servlet1

Login

Protegido por login

Cookies abobrinha=logado

Requisição HTTP

Resposta HTTP

Page 9: Cookies e Sessions no HTTP

9

Usuário

Servidor

Servlet1

Login

Protegido por login

Requisição HTTP

Resposta HTTP

Cookies abobrinha=logado

Page 10: Cookies e Sessions no HTTP

10

Usuário

Servidor

Servlet1

Login

Protegido por login

Requisição HTTP

Resposta HTTP

Page 11: Cookies e Sessions no HTTP

11

Exemplo

Page 12: Cookies e Sessions no HTTP

12

Servlet1

Page 13: Cookies e Sessions no HTTP

13

Login - doGet

Page 14: Cookies e Sessions no HTTP

14

Login - doGet

Login - doPost

Page 15: Cookies e Sessions no HTTP

15

Login - doGet

Login - doPost

Servlet1

Set-Cookies abobrinha=logado

Sem Cookies

Sem Cookies

Page 16: Cookies e Sessions no HTTP

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?

Page 17: Cookies e Sessions no HTTP

Sessions

17

Page 18: Cookies e Sessions no HTTP

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

Page 19: Cookies e Sessions no HTTP

19

Usuário

Servidor

Servlet1

Login

Protegido por login

Sem Cookies

Page 20: Cookies e Sessions no HTTP

20

UsuárioServlet1

Login

Protegido por login

Requisição HTTP

Resposta HTTP

Sessions JSESSIONID=qav…

Page 21: Cookies e Sessions no HTTP

21

Usuário

Servidor

Servlet1

Login

Protegido por loginCookies

JSESSIONID=qav…

Sessions JSESSIONID=qav…

Page 22: Cookies e Sessions no HTTP

22

Usuário

Servidor

Servlet1

Login

Protegido por login

Requisição HTTP

Resposta HTTP

Sessions JSESSIONID=qav…

Page 23: Cookies e Sessions no HTTP

23

Usuário

Servidor

Servlet1

Login

Protegido por login

Requisição HTTP

Resposta HTTPSessions

JSESSIONID=qav…

Cookies JSESSIONID=qav

Page 24: Cookies e Sessions no HTTP

24

Usuário

Servidor

Servlet1

Login

Protegido por login

Requisição HTTP

Resposta HTTPSessions

JSESSIONID=s4x…!logado = true!

usuario = watinha

Cookies JSESSIONID=s4x

Page 25: Cookies e Sessions no HTTP

25

Usuário

Servidor

Servlet1

Login

Protegido por login

Requisição HTTP

Resposta HTTP

Sessions JSESSIONID=s4x…!

logado = true!usuario = watinha

Cookies JSESSIONID=s4x

Page 26: Cookies e Sessions no HTTP

26

Usuário

Servidor

Servlet1

Login

Protegido por login

Requisição HTTP

Resposta HTTP

Sessions JSESSIONID=s4x…!

logado = true!usuario = watinha

Page 27: Cookies e Sessions no HTTP

27

Exemplo

Page 28: Cookies e Sessions no HTTP

28

Servlet1

Page 29: Cookies e Sessions no HTTP

29

Login - doPost

Page 30: Cookies e Sessions no HTTP

30

Login - doPost

Servlet1

Login - doGet

Page 31: Cookies e Sessions no HTTP

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

Page 32: Cookies e Sessions no HTTP

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

Page 33: Cookies e Sessions no HTTP

33

Problemas

• É possível forjar uma session?

• A session é mais segura que o cookie?

• Que outras utilidades as sessions podem ter?