SlideShare a Scribd company logo
1 of 26
Programação para WEB ,[object Object],[object Object],PHP: Sessões, Cookies e Cabeçalhos HTTP
Sessões ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ID de Sessão ,[object Object],[object Object],[object Object],[object Object]
ID de Sessão via Cookie ,[object Object]
Iniciando uma Sessão ,[object Object],[object Object]
Armazenando algo na Sessão ,[object Object],[object Object],[object Object]
Armazenando algo na Sessão <?php   session_start(); $variavel_01   =   &quot;Programação&quot; ; $variavel_02   =   &quot;para WEB&quot; ; session_register( 'variavel_01' ); $_SESSION [ 'variavel_02' ]   =   $variavel_02 ; ?> < html > < head > < title > CEFET-PI PHB </ title > </ head > < body > < p > Informações sobre a sessão: </ p > <?php   echo   '<p>Session ID: ' .session_id(). '</p>' ; print_r( $_SESSION );   ?> </ p > </ body > </ html >
Eliminando algo da Sessão ,[object Object],[object Object],[object Object],[object Object]
Tempo de vida da Sessão ,[object Object],[object Object],[object Object],[object Object],[object Object]
Destruindo uma Sessão ,[object Object],[object Object],[object Object]
Cookie ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Informações contidas em um Cookie ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Cookie ,[object Object],[object Object],[object Object]
Adicionando Cookies <?php   /* dura até o fechamento do browser */ setcookie( 'meu_cookie1' ,   'PHP' ); /* dura 1 hora */ setcookie( 'meu_cookie2' ,   'WEB' ,   time()+ 3600 );   /* dura 1 hora */ setcookie( 'meu_cookie3' ,   'NOW' ,   time()+ 3600 ,   '/regis/' ,   '' ); ?>
Usando Cookies <?php echo   'meu_cookie1: ' ; echo  $_COOKIE [ 'meu_cookie1' ]. '<br/>' ; echo   'meu_cookie2: ' ; echo   $_COOKIE [ 'meu_cookie2' ]. '<br/>' ; echo   'meu_cookie3: ' ; echo   $_COOKIE [ 'meu_cookie3' ]. '<br/>' ; print_r( $_COOKIE ); ?>
Removendo Cookies <?php // configurar valor com string vazia setcookie   ( 'meu_cookie1' ,   '' ); setcookie   ( 'meu_cookie2' ,   '' ); // configurar a data de expiração para o passado setcookie   ( 'meu_cookie3' ,   '' ,   time()   -   3600 ); ?>
Adicionando Array em Cookies <?php setcookie( 'pessoa[0]' ,   'Maria' ); setcookie( 'pessoa[1]' ,   'João' ); setcookie( 'pessoa[2]' ,   'José' ); ?>
Contadores (session e cookie) <?php session_start(); $_SESSION [ 'contador_session' ]++; setcookie( 'contador_cookie' , $_COOKIE [ 'contador_cookie' ]   +   1 ); ?> < html > < head > < title > CEFET-PI PHB </ title > </ head > < body > < p > Contador Session:  <?php   echo   $_SESSION [ 'contador_session' ]   ?> < p /> < p > Contador Cookie:  <?php   echo   $_COOKIE [ 'contador_cookie' ]   +   1   ?> < p /> <?php   print_r( $_COOKIE );   ?> </ body > </ html >
Inserindo itens em um array <?php session_start(); if   (strlen(trim( $_POST [ 'nome' ]))   >   0 )   { if   (gettype( $_SESSION [ 'nomes' ])   ==   'array' )   { array_push( $_SESSION [ 'nomes' ],   $_POST [ 'nome' ]); }   else   { $_SESSION [ 'nomes' ]   =   array ( $_POST [ 'nome' ]); } } ?> < html > < head >< title > CEFET-PHB </ title ></ head > < body > < form  action = &quot;exemplo_session3.php&quot;  method = &quot;post&quot; > < p > Nome:  < input  name = &quot;nome&quot;  type = &quot;text&quot; /></ p > < input  type = &quot;submit&quot;  value = &quot;Inserir Nome&quot; /> </ form > <?php   if   (gettype( $_SESSION [ 'nomes' ])   ==   'array' )   { echo   '<p>Nomes inseridos na sessão:</p>' ; foreach   ( $_SESSION [ 'nomes' ]   as   $item )   { echo   $item . '<br/>' ; } } ?> </ body > </ html >
Inserindo itens em um array <?php session_start(); if   (strlen(trim( $_POST [ 'nome' ]))   >   0 )   { $tamanho   =   count( $_COOKIE [ 'nomes' ]); setcookie( &quot;nomes[ $tamanho ]&quot; ,   $_POST [ 'nome' ]); } ?> < html > < head >< title > CEFET-PHB </ title ></ head > < body > < form  action = &quot;exemplo_session3.php&quot;  method = &quot;post&quot; > < p > Nome:  < input  name = &quot;nome&quot;  type = &quot;text&quot; /></ p > < input  type = &quot;submit&quot;  value = &quot;Inserir Nome&quot; /> </ form > <?php   if   (gettype( $_COOKIE [ 'nomes' ])   ==   'array' )   { echo   '<p>Nomes inseridos na sessão:</p>' ; foreach   ( $_COOKIE [ 'nomes' ]   as   $item )   { echo   $item . '<br/>' ; } echo   $_POST [ 'nome' ]. '<br/>' ; } ?> </ body > </ html >
Cabeçalhos HTTP ,[object Object],[object Object],<?php header( 'Location: http://localhost/xampp' ); exit ; ?> <?php $servidor   =   'http://'   .   $_SERVER [ 'HTTP_HOST' ]; header( 'Location: '   .   $servidor   .   '/xampp/' ); exit ; ?>
Redirecionamento via HTML < html > < head > < meta  http-equiv = &quot;refresh&quot;   content = &quot;0;url=http://localhost/xampp/&quot;  /> </ head > < body > < p > Redirecionando... </ p > </ body > </ html >
Autenticação HTTP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Autenticação HTTP <?php function   authenticate()   { header( 'WWW-Authenticate: Basic realm=&quot;CEFET-PHB&quot;' ); header( 'HTTP/1.0 401 Unauthorized' ); echo   'Usuário ou senha invalido(s).' ; exit ; } if   (! isset ( $_SERVER [ 'PHP_AUTH_USER' ]))   { authenticate(); } if   ( $_SERVER [ 'PHP_AUTH_USER' ]   !=   'regis'   ||   $_SERVER [ 'PHP_AUTH_PW' ]   !=   '1234' )   { authenticate(); } ?> < html > < head >< title > CEFET-PHB </ title ></ head > < body > < p > Bem-vindo ao nosso site!!! </ p > </ body > </ html >
CAPTCHA <!-- exemplo_captcha.php --> < html > < head > < title > CEFET-PHB </ title > </ head > < body > < h1 > CAPTCHA </ h1 > < p > Completely Automated Public Turing test to tell Computers and Humans Apart </ p > < p > teste de Turing público completamente automatizado para diferenciar entre computadores e humanos </ p > < img  src = &quot;exemplo_captcha2.php&quot;  /> </ body > </ html >
CAPTCHA <?php // exemplo_captcha2.php header( 'Content-type: image/png' ); // Requisitos mínimos if (!function_exists( &quot;gd_info&quot; ))   { echo   &quot;Biblioteca GD não instalada.&quot; ; exit (); } // Criar a imagem $imagem   =   @imagecreate( 100 , 100 ); // Criar a paleta de cores $branco   =   @imagecolorallocate( $imagem , 0xFF , 0xFF , 0xFF ); $azulescuro   =   @imagecolorallocate( $imagem , 0x00 , 0x00 , 0x80 ); $verde   =   @imagecolorallocate( $imagem , 0x00 , 0xFF , 0x00 ); $verdeescuro   =   @imagecolorallocate( $imagem , 0x00 , 0x80 , 0x00 ); $vermelhoescuro   =   @imagecolorallocate( $imagem , 0x80 , 0x00 , 0x00 ); // Desenhar linhas aleatórias for ( $i   =   0 ; $i   <   3 ; $i ++) @imageline( $imagem ,rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ), $vermelhoescuro ); for ( $i   =   0 ; $i   <   3 ; $i ++) @imageline( $imagem ,rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ), $verdeescuro ); for ( $i   =   0 ; $i   <   3 ; $i ++) @imageline( $imagem ,rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ), $verde ); // Escrever palavra-passe aleatória for ( $i   =   0 ; $i   <   4 ; $i ++) @imagestring( $imagem , 6 , 32   +   10   *   $i , 32 +rand(- 5 , 5 ),rand( 1 , 9 ), $azulescuro ); // Rotacionar a imagem $imagem   =   @imagerotate( $imagem , 10 , $branco ); // Finalização da imagem @imagepng( $imagem ); ?>

More Related Content

What's hot

OWASP AppSecCali 2015 - Marshalling Pickles
OWASP AppSecCali 2015 - Marshalling PicklesOWASP AppSecCali 2015 - Marshalling Pickles
OWASP AppSecCali 2015 - Marshalling PicklesChristopher Frohoff
 
REST APIs in Laravel 101
REST APIs in Laravel 101REST APIs in Laravel 101
REST APIs in Laravel 101Samantha Geitz
 
Cross-domain requests with CORS
Cross-domain requests with CORSCross-domain requests with CORS
Cross-domain requests with CORSVladimir Dzhuvinov
 
Zookeeper Introduce
Zookeeper IntroduceZookeeper Introduce
Zookeeper Introducejhao niu
 
liftIO 2022 quasiquote
liftIO 2022 quasiquoteliftIO 2022 quasiquote
liftIO 2022 quasiquoteHyunseok Cho
 
HTTP Request Smuggling
HTTP Request SmugglingHTTP Request Smuggling
HTTP Request SmugglingAkash Ashokan
 
글쓰는 개발자 모임, 글또
글쓰는 개발자 모임, 글또글쓰는 개발자 모임, 글또
글쓰는 개발자 모임, 글또Seongyun Byeon
 
Linux Profiling at Netflix
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at NetflixBrendan Gregg
 
Cpu Cache and Memory Ordering——并发程序设计入门
Cpu Cache and Memory Ordering——并发程序设计入门Cpu Cache and Memory Ordering——并发程序设计入门
Cpu Cache and Memory Ordering——并发程序设计入门frogd
 
M|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScaleM|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScaleMariaDB plc
 
pg_proctab: Accessing System Stats in PostgreSQL
pg_proctab: Accessing System Stats in PostgreSQLpg_proctab: Accessing System Stats in PostgreSQL
pg_proctab: Accessing System Stats in PostgreSQLCommand Prompt., Inc
 
XXE: How to become a Jedi
XXE: How to become a JediXXE: How to become a Jedi
XXE: How to become a JediYaroslav Babin
 
Oops concepts in php
Oops concepts in phpOops concepts in php
Oops concepts in phpCPD INDIA
 
Racing The Web - Hackfest 2016
Racing The Web - Hackfest 2016Racing The Web - Hackfest 2016
Racing The Web - Hackfest 2016Aaron Hnatiw
 
Troubleshooting redis
Troubleshooting redisTroubleshooting redis
Troubleshooting redisDaeMyung Kang
 
Memory Optimization
Memory OptimizationMemory Optimization
Memory Optimizationguest3eed30
 
Improve PostgreSQL replication with Oracle GoldenGate
Improve PostgreSQL replication with Oracle GoldenGateImprove PostgreSQL replication with Oracle GoldenGate
Improve PostgreSQL replication with Oracle GoldenGateBobby Curtis
 
Improving hyperconverged performance
Improving hyperconverged performanceImproving hyperconverged performance
Improving hyperconverged performanceDenis Chapligin
 
Apache Pinot Case Study: Building Distributed Analytics Systems Using Apache ...
Apache Pinot Case Study: Building Distributed Analytics Systems Using Apache ...Apache Pinot Case Study: Building Distributed Analytics Systems Using Apache ...
Apache Pinot Case Study: Building Distributed Analytics Systems Using Apache ...HostedbyConfluent
 

What's hot (20)

OWASP AppSecCali 2015 - Marshalling Pickles
OWASP AppSecCali 2015 - Marshalling PicklesOWASP AppSecCali 2015 - Marshalling Pickles
OWASP AppSecCali 2015 - Marshalling Pickles
 
REST APIs in Laravel 101
REST APIs in Laravel 101REST APIs in Laravel 101
REST APIs in Laravel 101
 
Cross-domain requests with CORS
Cross-domain requests with CORSCross-domain requests with CORS
Cross-domain requests with CORS
 
Offzone | Another waf bypass
Offzone | Another waf bypassOffzone | Another waf bypass
Offzone | Another waf bypass
 
Zookeeper Introduce
Zookeeper IntroduceZookeeper Introduce
Zookeeper Introduce
 
liftIO 2022 quasiquote
liftIO 2022 quasiquoteliftIO 2022 quasiquote
liftIO 2022 quasiquote
 
HTTP Request Smuggling
HTTP Request SmugglingHTTP Request Smuggling
HTTP Request Smuggling
 
글쓰는 개발자 모임, 글또
글쓰는 개발자 모임, 글또글쓰는 개발자 모임, 글또
글쓰는 개발자 모임, 글또
 
Linux Profiling at Netflix
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at Netflix
 
Cpu Cache and Memory Ordering——并发程序设计入门
Cpu Cache and Memory Ordering——并发程序设计入门Cpu Cache and Memory Ordering——并发程序设计入门
Cpu Cache and Memory Ordering——并发程序设计入门
 
M|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScaleM|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScale
 
pg_proctab: Accessing System Stats in PostgreSQL
pg_proctab: Accessing System Stats in PostgreSQLpg_proctab: Accessing System Stats in PostgreSQL
pg_proctab: Accessing System Stats in PostgreSQL
 
XXE: How to become a Jedi
XXE: How to become a JediXXE: How to become a Jedi
XXE: How to become a Jedi
 
Oops concepts in php
Oops concepts in phpOops concepts in php
Oops concepts in php
 
Racing The Web - Hackfest 2016
Racing The Web - Hackfest 2016Racing The Web - Hackfest 2016
Racing The Web - Hackfest 2016
 
Troubleshooting redis
Troubleshooting redisTroubleshooting redis
Troubleshooting redis
 
Memory Optimization
Memory OptimizationMemory Optimization
Memory Optimization
 
Improve PostgreSQL replication with Oracle GoldenGate
Improve PostgreSQL replication with Oracle GoldenGateImprove PostgreSQL replication with Oracle GoldenGate
Improve PostgreSQL replication with Oracle GoldenGate
 
Improving hyperconverged performance
Improving hyperconverged performanceImproving hyperconverged performance
Improving hyperconverged performance
 
Apache Pinot Case Study: Building Distributed Analytics Systems Using Apache ...
Apache Pinot Case Study: Building Distributed Analytics Systems Using Apache ...Apache Pinot Case Study: Building Distributed Analytics Systems Using Apache ...
Apache Pinot Case Study: Building Distributed Analytics Systems Using Apache ...
 

Viewers also liked

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
 
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
 
A Ilustração na Comunicação Visual das Empresas
A Ilustração na Comunicação Visual das EmpresasA Ilustração na Comunicação Visual das Empresas
A Ilustração na Comunicação Visual das EmpresasRodTramonte
 
Cookies e Sessões e PHP
Cookies e Sessões e PHPCookies e Sessões e PHP
Cookies e Sessões e PHPHumberto Moura
 
Projeto gráfico para impressos jornalísticos
Projeto gráfico para impressos jornalísticosProjeto gráfico para impressos jornalísticos
Projeto gráfico para impressos jornalísticosGuilherme Carvalho
 
Projeto editorial e projeto gráfico
Projeto editorial e projeto gráficoProjeto editorial e projeto gráfico
Projeto editorial e projeto gráficoaulasdejornalismo
 

Viewers also liked (10)

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
 
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.
 
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
 
Sessions in php
Sessions in php Sessions in php
Sessions in php
 
A Ilustração na Comunicação Visual das Empresas
A Ilustração na Comunicação Visual das EmpresasA Ilustração na Comunicação Visual das Empresas
A Ilustração na Comunicação Visual das Empresas
 
Cookies e Sessões e PHP
Cookies e Sessões e PHPCookies e Sessões e PHP
Cookies e Sessões e PHP
 
Entrevista MIE
Entrevista MIEEntrevista MIE
Entrevista MIE
 
Projeto gráfico para impressos jornalísticos
Projeto gráfico para impressos jornalísticosProjeto gráfico para impressos jornalísticos
Projeto gráfico para impressos jornalísticos
 
Projeto editorial e projeto gráfico
Projeto editorial e projeto gráficoProjeto editorial e projeto gráfico
Projeto editorial e projeto gráfico
 
Cookie and session
Cookie and sessionCookie and session
Cookie and session
 

Similar to Php 03 Sessoes Cookies Cabecalhos

Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosRegis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosRegis Magalhães
 
Puppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGilPuppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGiljefesrodrigues
 
Apresentacao codeigniter
Apresentacao codeigniterApresentacao codeigniter
Apresentacao codeigniterAndré Tagliati
 
Smarty Template Engine
Smarty Template EngineSmarty Template Engine
Smarty Template EngineDiego Tremper
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php segurosDouglas V. Pasqua
 
Otimização e Escalabilidade
Otimização e EscalabilidadeOtimização e Escalabilidade
Otimização e Escalabilidademetzen
 
2009 05 20 Floripa Flex
2009 05 20 Floripa Flex2009 05 20 Floripa Flex
2009 05 20 Floripa FlexEduardo Kraus
 
Desenvolvimento de aplicativos para o Facebook
Desenvolvimento de aplicativos para o FacebookDesenvolvimento de aplicativos para o Facebook
Desenvolvimento de aplicativos para o FacebookRicardo Rodrigues Nunes
 
Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2Thyago Maia
 
Desenvolvimento de web sites com php
Desenvolvimento de web sites com phpDesenvolvimento de web sites com php
Desenvolvimento de web sites com phpbrenod123
 
Desenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpDesenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpRodrigo Aramburu
 
Introdução ao framework CakePHP
Introdução ao framework CakePHPIntrodução ao framework CakePHP
Introdução ao framework CakePHPigorpimentel
 

Similar to Php 03 Sessoes Cookies Cabecalhos (20)

Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Php 04 Mysql
Php 04 MysqlPhp 04 Mysql
Php 04 Mysql
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
 
Hello SAFE World!!!
Hello SAFE World!!!Hello SAFE World!!!
Hello SAFE World!!!
 
PHP FrameWARks - FISL
PHP FrameWARks - FISLPHP FrameWARks - FISL
PHP FrameWARks - FISL
 
Puppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGilPuppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGil
 
Apresentacao codeigniter
Apresentacao codeigniterApresentacao codeigniter
Apresentacao codeigniter
 
Smarty Template Engine
Smarty Template EngineSmarty Template Engine
Smarty Template Engine
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php seguros
 
Otimização e Escalabilidade
Otimização e EscalabilidadeOtimização e Escalabilidade
Otimização e Escalabilidade
 
2009 05 20 Floripa Flex
2009 05 20 Floripa Flex2009 05 20 Floripa Flex
2009 05 20 Floripa Flex
 
Desenvolvimento de aplicativos para o Facebook
Desenvolvimento de aplicativos para o FacebookDesenvolvimento de aplicativos para o Facebook
Desenvolvimento de aplicativos para o Facebook
 
nDeveloper Framework
nDeveloper FrameworknDeveloper Framework
nDeveloper Framework
 
Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2
 
Desenvolvimento de web sites com php
Desenvolvimento de web sites com phpDesenvolvimento de web sites com php
Desenvolvimento de web sites com php
 
NotORM
NotORMNotORM
NotORM
 
Desenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpDesenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephp
 
Sistema php
Sistema phpSistema php
Sistema php
 
Introdução ao framework CakePHP
Introdução ao framework CakePHPIntrodução ao framework CakePHP
Introdução ao framework CakePHP
 

More from Regis Magalhães

More from Regis Magalhães (20)

High Dimensional Data
High Dimensional DataHigh Dimensional Data
High Dimensional Data
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 09-php-crud-mvc
Prog web 09-php-crud-mvcProg web 09-php-crud-mvc
Prog web 09-php-crud-mvc
 
Prog web 08-php-mvc
Prog web 08-php-mvcProg web 08-php-mvc
Prog web 08-php-mvc
 
Prog web 07-pdo
Prog web 07-pdoProg web 07-pdo
Prog web 07-pdo
 
Prog web 06-php-oo
Prog web 06-php-ooProg web 06-php-oo
Prog web 06-php-oo
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
 
Prog web 04-php-gd
Prog web 04-php-gdProg web 04-php-gd
Prog web 04-php-gd
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011
 
Curso Ruby
Curso RubyCurso Ruby
Curso Ruby
 
Easy Rails
Easy RailsEasy Rails
Easy Rails
 

Php 03 Sessoes Cookies Cabecalhos

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. Armazenando algo na Sessão <?php session_start(); $variavel_01 = &quot;Programação&quot; ; $variavel_02 = &quot;para WEB&quot; ; session_register( 'variavel_01' ); $_SESSION [ 'variavel_02' ] = $variavel_02 ; ?> < html > < head > < title > CEFET-PI PHB </ title > </ head > < body > < p > Informações sobre a sessão: </ p > <?php echo '<p>Session ID: ' .session_id(). '</p>' ; print_r( $_SESSION ); ?> </ p > </ body > </ html >
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. Adicionando Cookies <?php /* dura até o fechamento do browser */ setcookie( 'meu_cookie1' , 'PHP' ); /* dura 1 hora */ setcookie( 'meu_cookie2' , 'WEB' , time()+ 3600 ); /* dura 1 hora */ setcookie( 'meu_cookie3' , 'NOW' , time()+ 3600 , '/regis/' , '' ); ?>
  • 15. Usando Cookies <?php echo 'meu_cookie1: ' ; echo $_COOKIE [ 'meu_cookie1' ]. '<br/>' ; echo 'meu_cookie2: ' ; echo $_COOKIE [ 'meu_cookie2' ]. '<br/>' ; echo 'meu_cookie3: ' ; echo $_COOKIE [ 'meu_cookie3' ]. '<br/>' ; print_r( $_COOKIE ); ?>
  • 16. Removendo Cookies <?php // configurar valor com string vazia setcookie ( 'meu_cookie1' , '' ); setcookie ( 'meu_cookie2' , '' ); // configurar a data de expiração para o passado setcookie ( 'meu_cookie3' , '' , time() - 3600 ); ?>
  • 17. Adicionando Array em Cookies <?php setcookie( 'pessoa[0]' , 'Maria' ); setcookie( 'pessoa[1]' , 'João' ); setcookie( 'pessoa[2]' , 'José' ); ?>
  • 18. Contadores (session e cookie) <?php session_start(); $_SESSION [ 'contador_session' ]++; setcookie( 'contador_cookie' , $_COOKIE [ 'contador_cookie' ] + 1 ); ?> < html > < head > < title > CEFET-PI PHB </ title > </ head > < body > < p > Contador Session: <?php echo $_SESSION [ 'contador_session' ] ?> < p /> < p > Contador Cookie: <?php echo $_COOKIE [ 'contador_cookie' ] + 1 ?> < p /> <?php print_r( $_COOKIE ); ?> </ body > </ html >
  • 19. Inserindo itens em um array <?php session_start(); if (strlen(trim( $_POST [ 'nome' ])) > 0 ) { if (gettype( $_SESSION [ 'nomes' ]) == 'array' ) { array_push( $_SESSION [ 'nomes' ], $_POST [ 'nome' ]); } else { $_SESSION [ 'nomes' ] = array ( $_POST [ 'nome' ]); } } ?> < html > < head >< title > CEFET-PHB </ title ></ head > < body > < form action = &quot;exemplo_session3.php&quot; method = &quot;post&quot; > < p > Nome: < input name = &quot;nome&quot; type = &quot;text&quot; /></ p > < input type = &quot;submit&quot; value = &quot;Inserir Nome&quot; /> </ form > <?php if (gettype( $_SESSION [ 'nomes' ]) == 'array' ) { echo '<p>Nomes inseridos na sessão:</p>' ; foreach ( $_SESSION [ 'nomes' ] as $item ) { echo $item . '<br/>' ; } } ?> </ body > </ html >
  • 20. Inserindo itens em um array <?php session_start(); if (strlen(trim( $_POST [ 'nome' ])) > 0 ) { $tamanho = count( $_COOKIE [ 'nomes' ]); setcookie( &quot;nomes[ $tamanho ]&quot; , $_POST [ 'nome' ]); } ?> < html > < head >< title > CEFET-PHB </ title ></ head > < body > < form action = &quot;exemplo_session3.php&quot; method = &quot;post&quot; > < p > Nome: < input name = &quot;nome&quot; type = &quot;text&quot; /></ p > < input type = &quot;submit&quot; value = &quot;Inserir Nome&quot; /> </ form > <?php if (gettype( $_COOKIE [ 'nomes' ]) == 'array' ) { echo '<p>Nomes inseridos na sessão:</p>' ; foreach ( $_COOKIE [ 'nomes' ] as $item ) { echo $item . '<br/>' ; } echo $_POST [ 'nome' ]. '<br/>' ; } ?> </ body > </ html >
  • 21.
  • 22. Redirecionamento via HTML < html > < head > < meta http-equiv = &quot;refresh&quot; content = &quot;0;url=http://localhost/xampp/&quot; /> </ head > < body > < p > Redirecionando... </ p > </ body > </ html >
  • 23.
  • 24. Autenticação HTTP <?php function authenticate() { header( 'WWW-Authenticate: Basic realm=&quot;CEFET-PHB&quot;' ); header( 'HTTP/1.0 401 Unauthorized' ); echo 'Usuário ou senha invalido(s).' ; exit ; } if (! isset ( $_SERVER [ 'PHP_AUTH_USER' ])) { authenticate(); } if ( $_SERVER [ 'PHP_AUTH_USER' ] != 'regis' || $_SERVER [ 'PHP_AUTH_PW' ] != '1234' ) { authenticate(); } ?> < html > < head >< title > CEFET-PHB </ title ></ head > < body > < p > Bem-vindo ao nosso site!!! </ p > </ body > </ html >
  • 25. CAPTCHA <!-- exemplo_captcha.php --> < html > < head > < title > CEFET-PHB </ title > </ head > < body > < h1 > CAPTCHA </ h1 > < p > Completely Automated Public Turing test to tell Computers and Humans Apart </ p > < p > teste de Turing público completamente automatizado para diferenciar entre computadores e humanos </ p > < img src = &quot;exemplo_captcha2.php&quot; /> </ body > </ html >
  • 26. CAPTCHA <?php // exemplo_captcha2.php header( 'Content-type: image/png' ); // Requisitos mínimos if (!function_exists( &quot;gd_info&quot; )) { echo &quot;Biblioteca GD não instalada.&quot; ; exit (); } // Criar a imagem $imagem = @imagecreate( 100 , 100 ); // Criar a paleta de cores $branco = @imagecolorallocate( $imagem , 0xFF , 0xFF , 0xFF ); $azulescuro = @imagecolorallocate( $imagem , 0x00 , 0x00 , 0x80 ); $verde = @imagecolorallocate( $imagem , 0x00 , 0xFF , 0x00 ); $verdeescuro = @imagecolorallocate( $imagem , 0x00 , 0x80 , 0x00 ); $vermelhoescuro = @imagecolorallocate( $imagem , 0x80 , 0x00 , 0x00 ); // Desenhar linhas aleatórias for ( $i = 0 ; $i < 3 ; $i ++) @imageline( $imagem ,rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ), $vermelhoescuro ); for ( $i = 0 ; $i < 3 ; $i ++) @imageline( $imagem ,rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ), $verdeescuro ); for ( $i = 0 ; $i < 3 ; $i ++) @imageline( $imagem ,rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ),rand( 0 , 99 ), $verde ); // Escrever palavra-passe aleatória for ( $i = 0 ; $i < 4 ; $i ++) @imagestring( $imagem , 6 , 32 + 10 * $i , 32 +rand(- 5 , 5 ),rand( 1 , 9 ), $azulescuro ); // Rotacionar a imagem $imagem = @imagerotate( $imagem , 10 , $branco ); // Finalização da imagem @imagepng( $imagem ); ?>