SlideShare a Scribd company logo
1 of 8
Download to read offline
Sessão
Prof. Mauricio Garcia Nascimento
Prof. Daniel Arndt Alves
Introdução ao Desenvolvimento de Sistemas Web com PHP
Programa de Verão IME-USP 2014
Manutenção do estado de um sistema Web

Como manter o estado das variáveis num sistema Web
entre as requisições do usuário?

}

}

Protocolo HTTP é “Stateless” (sem manutenção de estado)

!
Dúvidas:

}

}
}
}

!2

Como autenticar um usuário e garantir seu acesso seguro em
páginas restritas?
Como garantir que estas páginas restritas sejam acessadas
apenas por usuários autenticados?
Caso prático: como implementar um carrinho de compras numa
loja virtual?

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados

Prof. Daniel Arndt Alves – progdan@progdan.pro.br
Manutenção do estado de um sistema Web

Sessões

}

}

Modo seguro para armazenamento de variáveis
}
}
}
}
}

}

!3

Armazenadas no Servidor Web
Usuário não tem acesso direto aos dados da sua sessão
Uma sessão pode conter um conjunto de variáveis do usuário
Fácil implementação
Array $_SESSION

Uma sessão é identificada através

do seu Session ID

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados

Prof. Daniel Arndt Alves – progdan@progdan.pro.br
Sessões

Repositório

de sessões

!4

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados

Prof. Daniel Arndt Alves – progdan@progdan.pro.br
Sessões
1 – Cliente acessa uma página

2 – Servidor envia Cookie com Session ID

5 – Nova requisição ao Servidor

3 – Session ID é 

armazenado pelo

navegador

4 – Navegador recuperar
Session ID armazenado

Repositório

sessões

!5

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados

Prof. Daniel Arndt Alves – progdan@progdan.pro.br
Função session_start
Criação / abertura de uma sessão no servidor
Lê as variáveis de sessão do usuário e prepara o Array
$_SESSION com estes valores
Por padrão, nenhum comando de saída pode ser
executado pelo script antes de session_start
!
Atribuição de valores

}
}
}

}

$_SESSION['username'] = 'jsilva';

Leitura de valores

}

echo $_SESSION['username'];

!6

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados

Prof. Daniel Arndt Alves – progdan@progdan.pro.br
Função session_destroy
Destruir uma sessão no servidor, de acordo com o
Session ID enviado pelo browser
!
Exemplo
!

}

}

session_start();
$_SESSION = array();
session_destroy();

!7

//abrir a sessão
//segurança adicional
//destruir a sessão

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados

Prof. Daniel Arndt Alves – progdan@progdan.pro.br
Segurança para páginas restritas

login.php

seguro.php

logout.php

ok

!
formulário
!
!

validar / validar

dados
Envia formulário

Caminho esperado
Acesso indevido
Páginas públicas
Páginas restritas / seguras

!8

Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados

Prof. Daniel Arndt Alves – progdan@progdan.pro.br

More Related Content

Viewers also liked (10)

Modelos de Integração Moodle - Sistemas de Gestão Acadêmicos e Administrativos
Modelos de Integração Moodle - Sistemas de Gestão Acadêmicos e AdministrativosModelos de Integração Moodle - Sistemas de Gestão Acadêmicos e Administrativos
Modelos de Integração Moodle - Sistemas de Gestão Acadêmicos e Administrativos
 
Hiearquia Window
Hiearquia WindowHiearquia Window
Hiearquia Window
 
Java RMI
Java RMIJava RMI
Java RMI
 
Java Platform, Enterprise Edition
Java Platform, Enterprise EditionJava Platform, Enterprise Edition
Java Platform, Enterprise Edition
 
Java AWT
Java AWTJava AWT
Java AWT
 
Java Swing
Java SwingJava Swing
Java Swing
 
Bubble Sort
Bubble SortBubble Sort
Bubble Sort
 
Gerenciadores de Layout
Gerenciadores de LayoutGerenciadores de Layout
Gerenciadores de Layout
 
Análise de Algoritmos
Análise de AlgoritmosAnálise de Algoritmos
Análise de Algoritmos
 
Selection Sort
Selection SortSelection Sort
Selection Sort
 

Similar to Sessao

Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos WebSergio Henrique
 
Aula 11 - Controle de sessão em PHP - Programação Web
Aula 11  - Controle de sessão em PHP - Programação WebAula 11  - Controle de sessão em PHP - Programação Web
Aula 11 - Controle de sessão em PHP - Programação WebDalton Martins
 
Qualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQuality Press
 
Aula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebAula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebMatheus Fidelis
 
Sessões (in portuguese)
Sessões (in portuguese)Sessões (in portuguese)
Sessões (in portuguese)Bruno Pedro
 
Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPFlavio Souza
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
Guião demotécnica
Guião demotécnicaGuião demotécnica
Guião demotécnicaSilvio Dias
 
Guiao demotecnica
Guiao demotecnicaGuiao demotecnica
Guiao demotecnicaSilvio Dias
 
Programação Server Side I - Aula 2
Programação Server Side I - Aula 2Programação Server Side I - Aula 2
Programação Server Side I - Aula 2Antonio Passos
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesDaniel Brandão
 
Manipulação de formulários com PHP. Uso de Cookies e Session com PHP.
Manipulação de formulários com PHP. Uso de Cookies e Session com PHP.Manipulação de formulários com PHP. Uso de Cookies e Session com PHP.
Manipulação de formulários com PHP. Uso de Cookies e Session com PHP.Leonardo Soares
 
Gerenciamento de configuração com puppet
Gerenciamento de configuração com puppetGerenciamento de configuração com puppet
Gerenciamento de configuração com puppetElton Simões
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com CodeceptionQualister
 

Similar to Sessao (20)

Tema 4 | Sessão
Tema 4 | SessãoTema 4 | Sessão
Tema 4 | Sessão
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos Web
 
Aula 5 - Cookies e Sessões em PHP
Aula 5 - Cookies e Sessões em PHPAula 5 - Cookies e Sessões em PHP
Aula 5 - Cookies e Sessões em PHP
 
Aula 5 - Cookies e sessões em PHP
Aula 5 - Cookies e sessões em PHPAula 5 - Cookies e sessões em PHP
Aula 5 - Cookies e sessões em PHP
 
Aula 5
Aula 5Aula 5
Aula 5
 
Aula 5 - Cookies e Sessões em PHP
Aula 5 - Cookies e Sessões em PHPAula 5 - Cookies e Sessões em PHP
Aula 5 - Cookies e Sessões em PHP
 
PHP MySQL Aula 08
PHP MySQL Aula 08PHP MySQL Aula 08
PHP MySQL Aula 08
 
Aula 11 - Controle de sessão em PHP - Programação Web
Aula 11  - Controle de sessão em PHP - Programação WebAula 11  - Controle de sessão em PHP - Programação Web
Aula 11 - Controle de sessão em PHP - Programação Web
 
Qualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHP
 
Aula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação WebAula 1 - Testando a Segurança de Sua Aplicação Web
Aula 1 - Testando a Segurança de Sua Aplicação Web
 
Sessões (in portuguese)
Sessões (in portuguese)Sessões (in portuguese)
Sessões (in portuguese)
 
Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHP
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Guião demotécnica
Guião demotécnicaGuião demotécnica
Guião demotécnica
 
Guiao demotecnica
Guiao demotecnicaGuiao demotecnica
Guiao demotecnica
 
Programação Server Side I - Aula 2
Programação Server Side I - Aula 2Programação Server Side I - Aula 2
Programação Server Side I - Aula 2
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e Sessoes
 
Manipulação de formulários com PHP. Uso de Cookies e Session com PHP.
Manipulação de formulários com PHP. Uso de Cookies e Session com PHP.Manipulação de formulários com PHP. Uso de Cookies e Session com PHP.
Manipulação de formulários com PHP. Uso de Cookies e Session com PHP.
 
Gerenciamento de configuração com puppet
Gerenciamento de configuração com puppetGerenciamento de configuração com puppet
Gerenciamento de configuração com puppet
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
 

More from Daniel Arndt Alves

Conceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosConceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosDaniel Arndt Alves
 
Exercicios - Java Swing Listeners
Exercicios - Java Swing ListenersExercicios - Java Swing Listeners
Exercicios - Java Swing ListenersDaniel Arndt Alves
 
Estrutura de Dados II - Plano de Ensino
Estrutura de Dados II - Plano de EnsinoEstrutura de Dados II - Plano de Ensino
Estrutura de Dados II - Plano de EnsinoDaniel Arndt Alves
 
Estrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaEstrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaDaniel Arndt Alves
 
Técnicas de Programação Aplicada III - Apresentação da Disciplina
Técnicas de Programação Aplicada III - Apresentação da DisciplinaTécnicas de Programação Aplicada III - Apresentação da Disciplina
Técnicas de Programação Aplicada III - Apresentação da DisciplinaDaniel Arndt Alves
 
Técnicas de Programação Aplicada III - Plano de Ensino
Técnicas de Programação Aplicada III - Plano de EnsinoTécnicas de Programação Aplicada III - Plano de Ensino
Técnicas de Programação Aplicada III - Plano de EnsinoDaniel Arndt Alves
 
Linguagem de Programação II - Plano de Ensino
Linguagem de Programação II - Plano de EnsinoLinguagem de Programação II - Plano de Ensino
Linguagem de Programação II - Plano de EnsinoDaniel Arndt Alves
 
Linguagem de Programação II - Apresentação da Disciplina
Linguagem de Programação II - Apresentação da DisciplinaLinguagem de Programação II - Apresentação da Disciplina
Linguagem de Programação II - Apresentação da DisciplinaDaniel Arndt Alves
 
Novos Recursos do Moodle 2.0 (Paper)
Novos Recursos do Moodle 2.0 (Paper)Novos Recursos do Moodle 2.0 (Paper)
Novos Recursos do Moodle 2.0 (Paper)Daniel Arndt Alves
 

More from Daniel Arndt Alves (12)

Arquitetura web
Arquitetura webArquitetura web
Arquitetura web
 
Conceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosConceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos Distribuidos
 
Exercicios - Java Swing Listeners
Exercicios - Java Swing ListenersExercicios - Java Swing Listeners
Exercicios - Java Swing Listeners
 
Exercicios - Java Swing
Exercicios - Java SwingExercicios - Java Swing
Exercicios - Java Swing
 
Estrutura de Dados II - Plano de Ensino
Estrutura de Dados II - Plano de EnsinoEstrutura de Dados II - Plano de Ensino
Estrutura de Dados II - Plano de Ensino
 
Estrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaEstrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da Disciplina
 
Técnicas de Programação Aplicada III - Apresentação da Disciplina
Técnicas de Programação Aplicada III - Apresentação da DisciplinaTécnicas de Programação Aplicada III - Apresentação da Disciplina
Técnicas de Programação Aplicada III - Apresentação da Disciplina
 
Técnicas de Programação Aplicada III - Plano de Ensino
Técnicas de Programação Aplicada III - Plano de EnsinoTécnicas de Programação Aplicada III - Plano de Ensino
Técnicas de Programação Aplicada III - Plano de Ensino
 
Linguagem de Programação II - Plano de Ensino
Linguagem de Programação II - Plano de EnsinoLinguagem de Programação II - Plano de Ensino
Linguagem de Programação II - Plano de Ensino
 
Linguagem de Programação II - Apresentação da Disciplina
Linguagem de Programação II - Apresentação da DisciplinaLinguagem de Programação II - Apresentação da Disciplina
Linguagem de Programação II - Apresentação da Disciplina
 
Novos Recursos do Moodle 2
Novos Recursos do Moodle 2Novos Recursos do Moodle 2
Novos Recursos do Moodle 2
 
Novos Recursos do Moodle 2.0 (Paper)
Novos Recursos do Moodle 2.0 (Paper)Novos Recursos do Moodle 2.0 (Paper)
Novos Recursos do Moodle 2.0 (Paper)
 

Recently uploaded

Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Centro Jacques Delors
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVlenapinto
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdfmarlene54545
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptxMarlene Cunhada
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...marcelafinkler
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)Centro Jacques Delors
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...marcelafinkler
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmicolourivalcaburite
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasrfmbrandao
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxLuizHenriquedeAlmeid6
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxFlviaGomes64
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLidianePaulaValezi
 
INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa paraAndreaPassosMascaren
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...PatriciaCaetano18
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxJustinoTeixeira1
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docPauloHenriqueGarciaM
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...azulassessoria9
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...AnaAugustaLagesZuqui
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubeladrianaguedesbatista
 

Recently uploaded (20)

Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa para
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 

Sessao

  • 1. Sessão Prof. Mauricio Garcia Nascimento Prof. Daniel Arndt Alves Introdução ao Desenvolvimento de Sistemas Web com PHP Programa de Verão IME-USP 2014
  • 2. Manutenção do estado de um sistema Web Como manter o estado das variáveis num sistema Web entre as requisições do usuário? } } Protocolo HTTP é “Stateless” (sem manutenção de estado) ! Dúvidas: } } } } !2 Como autenticar um usuário e garantir seu acesso seguro em páginas restritas? Como garantir que estas páginas restritas sejam acessadas apenas por usuários autenticados? Caso prático: como implementar um carrinho de compras numa loja virtual? Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  • 3. Manutenção do estado de um sistema Web Sessões } } Modo seguro para armazenamento de variáveis } } } } } } !3 Armazenadas no Servidor Web Usuário não tem acesso direto aos dados da sua sessão Uma sessão pode conter um conjunto de variáveis do usuário Fácil implementação Array $_SESSION Uma sessão é identificada através
 do seu Session ID Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  • 4. Sessões Repositório
 de sessões !4 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  • 5. Sessões 1 – Cliente acessa uma página 2 – Servidor envia Cookie com Session ID 5 – Nova requisição ao Servidor 3 – Session ID é 
 armazenado pelo
 navegador 4 – Navegador recuperar Session ID armazenado Repositório
 sessões !5 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  • 6. Função session_start Criação / abertura de uma sessão no servidor Lê as variáveis de sessão do usuário e prepara o Array $_SESSION com estes valores Por padrão, nenhum comando de saída pode ser executado pelo script antes de session_start ! Atribuição de valores } } } } $_SESSION['username'] = 'jsilva'; Leitura de valores } echo $_SESSION['username']; !6 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  • 7. Função session_destroy Destruir uma sessão no servidor, de acordo com o Session ID enviado pelo browser ! Exemplo ! } } session_start(); $_SESSION = array(); session_destroy(); !7 //abrir a sessão //segurança adicional //destruir a sessão Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  • 8. Segurança para páginas restritas login.php seguro.php logout.php ok ! formulário ! ! validar / validar
 dados Envia formulário Caminho esperado Acesso indevido Páginas públicas Páginas restritas / seguras !8 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br