SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
Autenticação e
     autorização
PHP Advanced - 17 de Setembro de 2008
      Bruno Pedro <bpedro@tarpipe.com>
PHP Advanced




                             Conteúdo
  • Basic HTTP Auth
  • Bases de Dados
  • PEAR::Auth()
  • OpenID
  • Projecto
  • Resumo
Autenticação e autorização      2
PHP Advanced




             Basic HTTP Auth

  • Suportado pelo protocolo HTTP
  • Suportado pelo browser
  • Pode ser interceptado no PHP
  • Só funciona se o PHP estiver a correr
        como módulo Apache


Autenticação e autorização   3
PHP Advanced




               Como funciona?

  • Para aparecer a caixa de autenticação é
        enviado um header HTTP “Unauthorized”
  • Os dados inseridos são capturados nos
        índices PHP_AUTH_USER, PHP_AUTH_PW, e
        AUTH_TYPE do array $_SERVER


Autenticação e autorização   4
PHP Advanced




                             Exemplo




Autenticação e autorização      5
PHP Advanced




                             Exemplo




Autenticação e autorização      6
PHP Advanced




                             Logout




Autenticação e autorização     7
PHP Advanced




           Aproximação OO
                                  Auth
                             username
                             password
                             login()
                             logout()
                             isAuth()




                              HTTPAuth




Autenticação e autorização         8
PHP Advanced




           Aproximação OO




Autenticação e autorização   9
PHP Advanced




           Aproximação OO




Autenticação e autorização   10
PHP Advanced




           Aproximação OO




Autenticação e autorização   11
PHP Advanced




           Aproximação OO




Autenticação e autorização   12
PHP Advanced




                             Melhorias
  • Criação de uma Auth factory
  • Acoplamento de um Chain of Command
        para verificar se o utilizador se pode
        autenticar
  • Utilização de uma Strategy de acesso a um
        backend onde estão os dados dos
        utilizadores

Autenticação e autorização       13
PHP Advanced




                Bases de Dados
  • Utilização de MySQL
  • Criação de base de dados para o projecto
  • Criação de tabela de utilizadores
  • Verificações
   • username existe
   • password é igual
  • Possível gravação de informação adicional
Autenticação e autorização   14
PHP Advanced




    Tabela de utilizadores
                                 Auth
                             username
                             password


  CREATE TABLE auth (
     username VARCHAR(50) default '' NOT NULL,
     password VARCHAR(32) default '' NOT NULL,
     PRIMARY KEY (username),
     KEY (password)
  );

Autenticação e autorização        15
PHP Advanced




                 Criar utilizador
  • A password não pode ficar visível!
  • É utilizada a função MD5
                INSERT
                INTO auth
                VALUES ('test', MD5('abc123'));


Autenticação e autorização    16
PHP Advanced




                             PEAR::DB
  • Biblioteca de abstracção ao acesso à base
        de dados
  • Portabilidade entre vários motores de BD
  • Várias formas de obter resultados
  • Automatismos na escrita de valores
  • Instalação: pear install DB
Autenticação e autorização      17
PHP Advanced




                             Exemplo




Autenticação e autorização      18
PHP Advanced




              Modos de leitura

  • DB_FETCHMODE_ORDERED
  • DB_FETCHMODE_ASSOC
  • DB_FETCHMODE_OBJECT
  • DB_FETCHMODE_FLIPPED

Autenticação e autorização   19
PHP Advanced




                         PEAR::Auth
  • Biblioteca de gestão de autenticação
  • Permite autenticar contra uma série de
        backends
  • Possibilita o registo e a gravação de
        informação adicional em cada utilizador
  • Oferece capacidades de logging
  • Instalação: pear install Auth
Autenticação e autorização   20
PHP Advanced




                         PEAR::Auth
  • Containers:
   • Array: lista de utilizadores
   • Base de dados, através de PEAR::DB
   • Ficheiro em disco
   • POP3, IMAP
   • SOAP
Autenticação e autorização   21
PHP Advanced




                             Exemplo




Autenticação e autorização      22
PHP Advanced




                             Opções

  • Base de dados utilizada
  • Alteração do formulário de autenticação
  • Nomes dos campos username e password
  • Logging

Autenticação e autorização     23
PHP Advanced




                             Formulário
  • Desligar completamente o formulário de
        autenticação:




  • Definir uma função responsável por
        apresentar o formulário:



Autenticação e autorização       24
PHP Advanced




        Nomes dos campos

  • Correspondem aos nomes dos campos
       utilizados no formulário de autenticação




Autenticação e autorização   25
PHP Advanced




                             OpenID
  • Solução de autenticação sem utilizar
        password
  • Utilização do mesmo identificador entre
        vários Websites
  • Obtenção de dados do utilizador
   • nome, email, nickname, etc.
Autenticação e autorização     26
PHP Advanced




                                    OpenID
                             Utilizador                     Utilizador é
                         introduz o URL               redireccionado para o
                             OpenID                       OpenID server




                           Utilizador é
                                                         A identidade é
                     redireccionado para a      SIM       confirmada?
                       aplicação original




                                                             NÃO




                     Utilizador é autenticado
                                                       Mensagem de erro
                      na aplicação original




Autenticação e autorização                      27
PHP Advanced




                             OpenID
  • Implementação
   • Eliminação dos campos username e
            password
      • Inserção do campo openid_url
      • Implementação da lógica de
            redireccionamento e validação

Autenticação e autorização     28
PHP Advanced




                             OpenID
  • Algumas regras
   • Convém separar o registo da
            autenticação, mesmo utilizando OpenID
      • É necessário validar a identidade no acto
            de registo
      • O openid_url passa a ser a chave que
            identifica um utilizador na aplicação

Autenticação e autorização     29
PHP Advanced




                  Base de Dados
                                  Auth
                             openid_url
                             firstName
                             lastName
                             ...



  • Podem ser acrescentados mais campos,
       relacionados com o utilizador


Autenticação e autorização         30
PHP Advanced




                             Bibliotecas

  • http://openidenabled.com/php-openid/
   • Compatível com PHP 4.3.0 e superiores
   • Documentação, exemplos e testes
   • Tenta usar o Curl mas não é obrigatório
   • Live demos
Autenticação e autorização        31
PHP Advanced




                             Projecto

  • Funcionalidade de registo
   • Alteração da tabela de modo a albergar o
            nome do utilizador
      • Verificação da password
      • Gravação dos dados na tabela
Autenticação e autorização      32
PHP Advanced




                             Projecto
  • Autenticação
   • Utilização do PEAR::Auth para autenticar
            o utilizador contra a tabela
      • Obtenção do username e password a
            partir do formulário
      • Implementação da funcionalidade de
            logout

Autenticação e autorização      33
PHP Advanced




                             Resumo

  • Basic HTTP Auth
  • Aproximação OO
  • PEAR::DB
  • PEAR::Auth
  • OpenID
Autenticação e autorização     34
PHP Summer School




                    Questões?




OOP em PHP              35
PHP Advanced




               Mais informação
  • O meu blog: http://unfoldingtheweb.com/

  • Manual de PHP: http://www.php.net/
  • PEAR: http://pear.php.net/
  • OpenID: http://openid.net/
  • Bibliotecas OpenID:
        http://openidenabled.com/
Autenticação e autorização   36

Más contenido relacionado

Similar a Autenticação PHP usando HTTP, BD, PEAR e OpenID

Segurança autenticação apache -ppt
Segurança autenticação apache -pptSegurança autenticação apache -ppt
Segurança autenticação apache -pptCarlos Melo
 
Explorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webExplorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webEduardo Cesar
 
#TheDevConf 2018 - spring boot ionic oauth2
#TheDevConf 2018 - spring boot ionic oauth2#TheDevConf 2018 - spring boot ionic oauth2
#TheDevConf 2018 - spring boot ionic oauth2Luiz Avila
 
TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2
TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2
TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2tdc-globalcode
 
GraphQL e APIs: como manter a qualidade?
GraphQL e APIs: como manter a qualidade?GraphQL e APIs: como manter a qualidade?
GraphQL e APIs: como manter a qualidade?Qaladies
 
Minicurso de Segurança em Java EE 7
Minicurso de Segurança em Java EE 7Minicurso de Segurança em Java EE 7
Minicurso de Segurança em Java EE 7Helder da Rocha
 
TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...
TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...
TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...tdc-globalcode
 
[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
 
APIs seguras com OAuth2
APIs seguras com OAuth2APIs seguras com OAuth2
APIs seguras com OAuth2Luiz Messias
 
Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3Thyago Maia
 
Introdução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos ReduIntrodução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos ReduGuilherme
 
Sala 2 03 o auth e cadastro de produtos - danilo santos
Sala 2 03   o auth e cadastro de produtos - danilo santosSala 2 03   o auth e cadastro de produtos - danilo santos
Sala 2 03 o auth e cadastro de produtos - danilo santosfsolari
 
Desenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPDesenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPAndréia Santos
 
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
 

Similar a Autenticação PHP usando HTTP, BD, PEAR e OpenID (20)

Segurança autenticação apache -ppt
Segurança autenticação apache -pptSegurança autenticação apache -ppt
Segurança autenticação apache -ppt
 
Explorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webExplorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na web
 
#TheDevConf 2018 - spring boot ionic oauth2
#TheDevConf 2018 - spring boot ionic oauth2#TheDevConf 2018 - spring boot ionic oauth2
#TheDevConf 2018 - spring boot ionic oauth2
 
TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2
TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2
TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2
 
GraphQL e APIs: como manter a qualidade?
GraphQL e APIs: como manter a qualidade?GraphQL e APIs: como manter a qualidade?
GraphQL e APIs: como manter a qualidade?
 
Minicurso de Segurança em Java EE 7
Minicurso de Segurança em Java EE 7Minicurso de Segurança em Java EE 7
Minicurso de Segurança em Java EE 7
 
Politicas de segurança
Politicas de segurançaPoliticas de segurança
Politicas de segurança
 
TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...
TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...
TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...
 
Tema 4 | Sessão
Tema 4 | SessãoTema 4 | Sessão
Tema 4 | Sessão
 
[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
 
APIs seguras com OAuth2
APIs seguras com OAuth2APIs seguras com OAuth2
APIs seguras com OAuth2
 
Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3
 
Introdução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos ReduIntrodução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos Redu
 
Sala 2 03 o auth e cadastro de produtos - danilo santos
Sala 2 03   o auth e cadastro de produtos - danilo santosSala 2 03   o auth e cadastro de produtos - danilo santos
Sala 2 03 o auth e cadastro de produtos - danilo santos
 
Desenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPDesenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHP
 
Security & PHP
Security & PHPSecurity & PHP
Security & PHP
 
Formas de autenticação tomcat
Formas de autenticação tomcatFormas de autenticação tomcat
Formas de autenticação tomcat
 
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
 
Aula20 open vpn
Aula20 open vpnAula20 open vpn
Aula20 open vpn
 
Python 08
Python 08Python 08
Python 08
 

Más de Bruno Pedro

What are Web APIs
What are Web APIsWhat are Web APIs
What are Web APIsBruno Pedro
 
Growing your business with an API
Growing your business with an APIGrowing your business with an API
Growing your business with an APIBruno Pedro
 
Product growth with an API
Product growth with an APIProduct growth with an API
Product growth with an APIBruno Pedro
 
How to grow your business with an API
How to grow your business with an APIHow to grow your business with an API
How to grow your business with an APIBruno Pedro
 
APIs Love to Chat
APIs Love to ChatAPIs Love to Chat
APIs Love to ChatBruno Pedro
 
How to Automate API Testing
How to Automate API TestingHow to Automate API Testing
How to Automate API TestingBruno Pedro
 
Asynchronous Microservices in nodejs
Asynchronous Microservices in nodejsAsynchronous Microservices in nodejs
Asynchronous Microservices in nodejsBruno Pedro
 
How to Automate API Discovery
How to Automate API DiscoveryHow to Automate API Discovery
How to Automate API DiscoveryBruno Pedro
 
Api Design & The Paris Subway
Api Design & The Paris SubwayApi Design & The Paris Subway
Api Design & The Paris SubwayBruno Pedro
 
The importance of /me
The importance of /meThe importance of /me
The importance of /meBruno Pedro
 
Maintainable consumers
Maintainable consumersMaintainable consumers
Maintainable consumersBruno Pedro
 
API Code Generation
API Code GenerationAPI Code Generation
API Code GenerationBruno Pedro
 
Bridging the Gap Between APIs and Customers
Bridging the Gap Between APIs and CustomersBridging the Gap Between APIs and Customers
Bridging the Gap Between APIs and CustomersBruno Pedro
 
Who's using your API?
Who's using your API?Who's using your API?
Who's using your API?Bruno Pedro
 
Is OAuth Really Secure?
Is OAuth Really Secure?Is OAuth Really Secure?
Is OAuth Really Secure?Bruno Pedro
 
Link extraction and classification
Link extraction and classificationLink extraction and classification
Link extraction and classificationBruno Pedro
 
tarpipe WordPress plugin demo
tarpipe WordPress plugin demotarpipe WordPress plugin demo
tarpipe WordPress plugin demoBruno Pedro
 
Everything OAuth
Everything OAuthEverything OAuth
Everything OAuthBruno Pedro
 

Más de Bruno Pedro (20)

What are Web APIs
What are Web APIsWhat are Web APIs
What are Web APIs
 
Growing your business with an API
Growing your business with an APIGrowing your business with an API
Growing your business with an API
 
Product growth with an API
Product growth with an APIProduct growth with an API
Product growth with an API
 
How to grow your business with an API
How to grow your business with an APIHow to grow your business with an API
How to grow your business with an API
 
APIs Love to Chat
APIs Love to ChatAPIs Love to Chat
APIs Love to Chat
 
How to Automate API Testing
How to Automate API TestingHow to Automate API Testing
How to Automate API Testing
 
Asynchronous Microservices in nodejs
Asynchronous Microservices in nodejsAsynchronous Microservices in nodejs
Asynchronous Microservices in nodejs
 
How to Automate API Discovery
How to Automate API DiscoveryHow to Automate API Discovery
How to Automate API Discovery
 
Api Design & The Paris Subway
Api Design & The Paris SubwayApi Design & The Paris Subway
Api Design & The Paris Subway
 
The importance of /me
The importance of /meThe importance of /me
The importance of /me
 
Maintainable consumers
Maintainable consumersMaintainable consumers
Maintainable consumers
 
API Code Generation
API Code GenerationAPI Code Generation
API Code Generation
 
Bridging the Gap Between APIs and Customers
Bridging the Gap Between APIs and CustomersBridging the Gap Between APIs and Customers
Bridging the Gap Between APIs and Customers
 
Who's using your API?
Who's using your API?Who's using your API?
Who's using your API?
 
node-fs
node-fsnode-fs
node-fs
 
Is OAuth Really Secure?
Is OAuth Really Secure?Is OAuth Really Secure?
Is OAuth Really Secure?
 
Link extraction and classification
Link extraction and classificationLink extraction and classification
Link extraction and classification
 
tarpipe WordPress plugin demo
tarpipe WordPress plugin demotarpipe WordPress plugin demo
tarpipe WordPress plugin demo
 
OAuth checklist
OAuth checklistOAuth checklist
OAuth checklist
 
Everything OAuth
Everything OAuthEverything OAuth
Everything OAuth
 

Autenticação PHP usando HTTP, BD, PEAR e OpenID

  • 1. Autenticação e autorização PHP Advanced - 17 de Setembro de 2008 Bruno Pedro <bpedro@tarpipe.com>
  • 2. PHP Advanced Conteúdo • Basic HTTP Auth • Bases de Dados • PEAR::Auth() • OpenID • Projecto • Resumo Autenticação e autorização 2
  • 3. PHP Advanced Basic HTTP Auth • Suportado pelo protocolo HTTP • Suportado pelo browser • Pode ser interceptado no PHP • Só funciona se o PHP estiver a correr como módulo Apache Autenticação e autorização 3
  • 4. PHP Advanced Como funciona? • Para aparecer a caixa de autenticação é enviado um header HTTP “Unauthorized” • Os dados inseridos são capturados nos índices PHP_AUTH_USER, PHP_AUTH_PW, e AUTH_TYPE do array $_SERVER Autenticação e autorização 4
  • 5. PHP Advanced Exemplo Autenticação e autorização 5
  • 6. PHP Advanced Exemplo Autenticação e autorização 6
  • 7. PHP Advanced Logout Autenticação e autorização 7
  • 8. PHP Advanced Aproximação OO Auth username password login() logout() isAuth() HTTPAuth Autenticação e autorização 8
  • 9. PHP Advanced Aproximação OO Autenticação e autorização 9
  • 10. PHP Advanced Aproximação OO Autenticação e autorização 10
  • 11. PHP Advanced Aproximação OO Autenticação e autorização 11
  • 12. PHP Advanced Aproximação OO Autenticação e autorização 12
  • 13. PHP Advanced Melhorias • Criação de uma Auth factory • Acoplamento de um Chain of Command para verificar se o utilizador se pode autenticar • Utilização de uma Strategy de acesso a um backend onde estão os dados dos utilizadores Autenticação e autorização 13
  • 14. PHP Advanced Bases de Dados • Utilização de MySQL • Criação de base de dados para o projecto • Criação de tabela de utilizadores • Verificações • username existe • password é igual • Possível gravação de informação adicional Autenticação e autorização 14
  • 15. PHP Advanced Tabela de utilizadores Auth username password CREATE TABLE auth ( username VARCHAR(50) default '' NOT NULL, password VARCHAR(32) default '' NOT NULL, PRIMARY KEY (username), KEY (password) ); Autenticação e autorização 15
  • 16. PHP Advanced Criar utilizador • A password não pode ficar visível! • É utilizada a função MD5 INSERT INTO auth VALUES ('test', MD5('abc123')); Autenticação e autorização 16
  • 17. PHP Advanced PEAR::DB • Biblioteca de abstracção ao acesso à base de dados • Portabilidade entre vários motores de BD • Várias formas de obter resultados • Automatismos na escrita de valores • Instalação: pear install DB Autenticação e autorização 17
  • 18. PHP Advanced Exemplo Autenticação e autorização 18
  • 19. PHP Advanced Modos de leitura • DB_FETCHMODE_ORDERED • DB_FETCHMODE_ASSOC • DB_FETCHMODE_OBJECT • DB_FETCHMODE_FLIPPED Autenticação e autorização 19
  • 20. PHP Advanced PEAR::Auth • Biblioteca de gestão de autenticação • Permite autenticar contra uma série de backends • Possibilita o registo e a gravação de informação adicional em cada utilizador • Oferece capacidades de logging • Instalação: pear install Auth Autenticação e autorização 20
  • 21. PHP Advanced PEAR::Auth • Containers: • Array: lista de utilizadores • Base de dados, através de PEAR::DB • Ficheiro em disco • POP3, IMAP • SOAP Autenticação e autorização 21
  • 22. PHP Advanced Exemplo Autenticação e autorização 22
  • 23. PHP Advanced Opções • Base de dados utilizada • Alteração do formulário de autenticação • Nomes dos campos username e password • Logging Autenticação e autorização 23
  • 24. PHP Advanced Formulário • Desligar completamente o formulário de autenticação: • Definir uma função responsável por apresentar o formulário: Autenticação e autorização 24
  • 25. PHP Advanced Nomes dos campos • Correspondem aos nomes dos campos utilizados no formulário de autenticação Autenticação e autorização 25
  • 26. PHP Advanced OpenID • Solução de autenticação sem utilizar password • Utilização do mesmo identificador entre vários Websites • Obtenção de dados do utilizador • nome, email, nickname, etc. Autenticação e autorização 26
  • 27. PHP Advanced OpenID Utilizador Utilizador é introduz o URL redireccionado para o OpenID OpenID server Utilizador é A identidade é redireccionado para a SIM confirmada? aplicação original NÃO Utilizador é autenticado Mensagem de erro na aplicação original Autenticação e autorização 27
  • 28. PHP Advanced OpenID • Implementação • Eliminação dos campos username e password • Inserção do campo openid_url • Implementação da lógica de redireccionamento e validação Autenticação e autorização 28
  • 29. PHP Advanced OpenID • Algumas regras • Convém separar o registo da autenticação, mesmo utilizando OpenID • É necessário validar a identidade no acto de registo • O openid_url passa a ser a chave que identifica um utilizador na aplicação Autenticação e autorização 29
  • 30. PHP Advanced Base de Dados Auth openid_url firstName lastName ... • Podem ser acrescentados mais campos, relacionados com o utilizador Autenticação e autorização 30
  • 31. PHP Advanced Bibliotecas • http://openidenabled.com/php-openid/ • Compatível com PHP 4.3.0 e superiores • Documentação, exemplos e testes • Tenta usar o Curl mas não é obrigatório • Live demos Autenticação e autorização 31
  • 32. PHP Advanced Projecto • Funcionalidade de registo • Alteração da tabela de modo a albergar o nome do utilizador • Verificação da password • Gravação dos dados na tabela Autenticação e autorização 32
  • 33. PHP Advanced Projecto • Autenticação • Utilização do PEAR::Auth para autenticar o utilizador contra a tabela • Obtenção do username e password a partir do formulário • Implementação da funcionalidade de logout Autenticação e autorização 33
  • 34. PHP Advanced Resumo • Basic HTTP Auth • Aproximação OO • PEAR::DB • PEAR::Auth • OpenID Autenticação e autorização 34
  • 35. PHP Summer School Questões? OOP em PHP 35
  • 36. PHP Advanced Mais informação • O meu blog: http://unfoldingtheweb.com/ • Manual de PHP: http://www.php.net/ • PEAR: http://pear.php.net/ • OpenID: http://openid.net/ • Bibliotecas OpenID: http://openidenabled.com/ Autenticação e autorização 36