SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Programação para WEB
Regis Pires Magalhães
regispiresmag@gmail.com
PHP:
Biblioteca GD
Criando um texto
<?php
header("Content-type: image/png");
$im = imagecreate(100,40);
$amarelo = imagecolorallocate($im, 255, 255, 0);
$azul = imagecolorallocate($im, 0, 0, 255);
imagestring($im, 3, 20, 10, 'oi, mundo', $azul);
imagepng($im);
imagedestroy($im);
?>
Função imagestring
 Desenha uma string horizontalmente nas
coordenadas especificadas.
 bool imagestring (resource $image, int $font, int $x,
int $y, string $string, int $color)
 Parâmetro font:
 Pode ser 1, 2, 3, 4, 5 ou um identificador de
fonte registrado com imageloadfont().
 Números maiores correspondem a fontes
mais largas.
CAPTCHA
<!-- exemplo_captcha.php -->
<html>
<head>
<title>CAPTCHA</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="exemplo_captcha2.php" />
</body>
</html>
CAPTCHA
<?php
// exemplo_captcha2.php
// Requisitos mínimos
if(!function_exists("gd_info")) {
echo "Biblioteca GD não instalada.";
exit();
}
header('Content-type: image/png');
// Criar a imagem
$imagem = imagecreate(100,100);
// Criar a paleta de cores
$amarelo = imagecolorallocate($imagem,0xFF,0xFF,0x00);
$vermelhoescuro = imagecolorallocate($imagem,0x80,0x00,0x00);
$verdeescuro = imagecolorallocate($imagem,0x00,0x80,0x00);
$verde = imagecolorallocate($imagem,0x00,0xFF,0x00);
$azulescuro = imagecolorallocate($imagem,0x00,0x00,0x80);
// 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,5,32 + 10 * $i,32+rand(-5,5),rand(1,9),$azulescuro);
// Finalizar a imagem
imagepng($imagem);
exit();
?>
CAPTCHA
<?php
// exemplo_captcha2.php
// Requisitos mínimos
if(!function_exists("gd_info")) {
echo "Biblioteca GD não instalada.";
exit();
}
header('Content-type: image/png');
// Criar a imagem
$imagem = imagecreate(100,100);
// Criar a paleta de cores
$amarelo = imagecolorallocate($imagem,0xFF,0xFF,0x00);
$vermelhoescuro = imagecolorallocate($imagem,0x80,0x00,0x00);
$verdeescuro = imagecolorallocate($imagem,0x00,0x80,0x00);
$verde = imagecolorallocate($imagem,0x00,0xFF,0x00);
$azulescuro = imagecolorallocate($imagem,0x00,0x00,0x80);
// 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,5,32 + 10 * $i,32+rand(-5,5),rand(1,9),$azulescuro);
// Finalizar a imagem
imagepng($imagem);
exit();
?>

Weitere ähnliche Inhalte

Andere mochten auch

Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis Magalhães
 
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_webRegis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis 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
 
Php 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies CabecalhosPhp 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies CabecalhosRegis Magalhães
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducaoRegis Magalhães
 
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_webRegis Magalhães
 
Lean startup - Agile Brazil 2011
Lean startup - Agile Brazil 2011Lean startup - Agile Brazil 2011
Lean startup - Agile Brazil 2011Webgoal
 
Desenvolvimento web: PHP orientado a objetos
Desenvolvimento web: PHP orientado a objetosDesenvolvimento web: PHP orientado a objetos
Desenvolvimento web: PHP orientado a objetosLucas Vegi
 

Andere mochten auch (20)

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 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 
Lean Startup
Lean StartupLean Startup
Lean Startup
 
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
 
Prog web 08-php-mvc
Prog web 08-php-mvcProg web 08-php-mvc
Prog web 08-php-mvc
 
Php 05 Mvc
Php 05 MvcPhp 05 Mvc
Php 05 Mvc
 
Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
 
Php 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies CabecalhosPhp 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies Cabecalhos
 
Php 04 Mysql
Php 04 MysqlPhp 04 Mysql
Php 04 Mysql
 
Prog web 06-php-oo
Prog web 06-php-ooProg web 06-php-oo
Prog web 06-php-oo
 
Php 02 Primeiros Passos
Php 02 Primeiros PassosPhp 02 Primeiros Passos
Php 02 Primeiros Passos
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
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
 
Php 06 Crud Mvc
Php 06 Crud MvcPhp 06 Crud Mvc
Php 06 Crud Mvc
 
Lean startup - Agile Brazil 2011
Lean startup - Agile Brazil 2011Lean startup - Agile Brazil 2011
Lean startup - Agile Brazil 2011
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
 
Desenvolvimento web: PHP orientado a objetos
Desenvolvimento web: PHP orientado a objetosDesenvolvimento web: PHP orientado a objetos
Desenvolvimento web: PHP orientado a objetos
 
High Dimensional Data
High Dimensional DataHigh Dimensional Data
High Dimensional Data
 

Ähnlich wie Programação WEB PHP CAPTCHA GD

Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php segurosDouglas V. Pasqua
 
InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...
InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...
InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...iMasters
 
Segurança e Performance WordPress
Segurança e Performance WordPressSegurança e Performance WordPress
Segurança e Performance WordPressHenrique Mouta
 
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasAula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasCJR, UnB
 
LPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfLPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfGabrielaMota46
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoFreedom DayMS
 
Minicurso de PHP Com Ajax
Minicurso de PHP Com AjaxMinicurso de PHP Com Ajax
Minicurso de PHP Com AjaxAdler Medrado
 
Palestra: Otimização de websites
Palestra: Otimização de websitesPalestra: Otimização de websites
Palestra: Otimização de websitesIntrus
 
Javascript truquesmagicos
Javascript truquesmagicosJavascript truquesmagicos
Javascript truquesmagicosponto hacker
 
MySQL 5.7 - 
Tirando o Máximo Proveito
MySQL 5.7 - 
Tirando o Máximo ProveitoMySQL 5.7 - 
Tirando o Máximo Proveito
MySQL 5.7 - 
Tirando o Máximo ProveitoGabriela Ferrara
 
JavaScript e JQuery para Webdesigners
JavaScript e JQuery para WebdesignersJavaScript e JQuery para Webdesigners
JavaScript e JQuery para WebdesignersHarlley Oliveira
 
Desenvolvendo com mongodb
Desenvolvendo com mongodbDesenvolvendo com mongodb
Desenvolvendo com mongodbThiago Avelino
 
Como Perder Peso (no browser)
Como Perder Peso (no browser)Como Perder Peso (no browser)
Como Perder Peso (no browser)Zeno Rocha
 
Backbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectadosBackbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectadosHenrique Gogó
 
Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP Luis Gustavo Almeida
 

Ähnlich wie Programação WEB PHP CAPTCHA GD (20)

Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php seguros
 
HTML
HTMLHTML
HTML
 
InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...
InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...
InterCon 2017 - Engenharia de segurança web: Proteja todas as camadas de seu ...
 
Aplicacoes Rapidas Para Web Com Django
Aplicacoes Rapidas Para Web Com DjangoAplicacoes Rapidas Para Web Com Django
Aplicacoes Rapidas Para Web Com Django
 
Segurança e Performance WordPress
Segurança e Performance WordPressSegurança e Performance WordPress
Segurança e Performance WordPress
 
04_Introducao_JavaScript.pdf
04_Introducao_JavaScript.pdf04_Introducao_JavaScript.pdf
04_Introducao_JavaScript.pdf
 
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasAula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
 
LPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfLPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdf
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com Django
 
Minicurso de PHP Com Ajax
Minicurso de PHP Com AjaxMinicurso de PHP Com Ajax
Minicurso de PHP Com Ajax
 
Palestra: Otimização de websites
Palestra: Otimização de websitesPalestra: Otimização de websites
Palestra: Otimização de websites
 
Javascript truquesmagicos
Javascript truquesmagicosJavascript truquesmagicos
Javascript truquesmagicos
 
MySQL 5.7 - 
Tirando o Máximo Proveito
MySQL 5.7 - 
Tirando o Máximo ProveitoMySQL 5.7 - 
Tirando o Máximo Proveito
MySQL 5.7 - 
Tirando o Máximo Proveito
 
MongoDB + PHP
MongoDB + PHPMongoDB + PHP
MongoDB + PHP
 
JavaScript e JQuery para Webdesigners
JavaScript e JQuery para WebdesignersJavaScript e JQuery para Webdesigners
JavaScript e JQuery para Webdesigners
 
Desenvolvendo com mongodb
Desenvolvendo com mongodbDesenvolvendo com mongodb
Desenvolvendo com mongodb
 
Como Perder Peso (no browser)
Como Perder Peso (no browser)Como Perder Peso (no browser)
Como Perder Peso (no browser)
 
Backbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectadosBackbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectados
 
Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP
 
Palestra PHPSP+Locaweb 2014 - PDO
Palestra PHPSP+Locaweb 2014 - PDOPalestra PHPSP+Locaweb 2014 - PDO
Palestra PHPSP+Locaweb 2014 - PDO
 

Mehr von Regis Magalhães

Mehr von Regis Magalhães (13)

Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
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
 
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
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral Detalhado
 
Java 01 Java Visao Geral Resumo
Java 01 Java Visao Geral ResumoJava 01 Java Visao Geral Resumo
Java 01 Java Visao Geral Resumo
 
Merci 10 Completo
Merci 10 CompletoMerci 10 Completo
Merci 10 Completo
 
java 00 Introducao
java 00 Introducaojava 00 Introducao
java 00 Introducao
 
POO Plano de Curso
POO Plano de CursoPOO Plano de Curso
POO Plano de Curso
 

Programação WEB PHP CAPTCHA GD

  • 1. Programação para WEB Regis Pires Magalhães regispiresmag@gmail.com PHP: Biblioteca GD
  • 2. Criando um texto <?php header("Content-type: image/png"); $im = imagecreate(100,40); $amarelo = imagecolorallocate($im, 255, 255, 0); $azul = imagecolorallocate($im, 0, 0, 255); imagestring($im, 3, 20, 10, 'oi, mundo', $azul); imagepng($im); imagedestroy($im); ?>
  • 3. Função imagestring  Desenha uma string horizontalmente nas coordenadas especificadas.  bool imagestring (resource $image, int $font, int $x, int $y, string $string, int $color)  Parâmetro font:  Pode ser 1, 2, 3, 4, 5 ou um identificador de fonte registrado com imageloadfont().  Números maiores correspondem a fontes mais largas.
  • 4. CAPTCHA <!-- exemplo_captcha.php --> <html> <head> <title>CAPTCHA</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="exemplo_captcha2.php" /> </body> </html>
  • 5. CAPTCHA <?php // exemplo_captcha2.php // Requisitos mínimos if(!function_exists("gd_info")) { echo "Biblioteca GD não instalada."; exit(); } header('Content-type: image/png'); // Criar a imagem $imagem = imagecreate(100,100); // Criar a paleta de cores $amarelo = imagecolorallocate($imagem,0xFF,0xFF,0x00); $vermelhoescuro = imagecolorallocate($imagem,0x80,0x00,0x00); $verdeescuro = imagecolorallocate($imagem,0x00,0x80,0x00); $verde = imagecolorallocate($imagem,0x00,0xFF,0x00); $azulescuro = imagecolorallocate($imagem,0x00,0x00,0x80); // 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,5,32 + 10 * $i,32+rand(-5,5),rand(1,9),$azulescuro); // Finalizar a imagem imagepng($imagem); exit(); ?>
  • 6. CAPTCHA <?php // exemplo_captcha2.php // Requisitos mínimos if(!function_exists("gd_info")) { echo "Biblioteca GD não instalada."; exit(); } header('Content-type: image/png'); // Criar a imagem $imagem = imagecreate(100,100); // Criar a paleta de cores $amarelo = imagecolorallocate($imagem,0xFF,0xFF,0x00); $vermelhoescuro = imagecolorallocate($imagem,0x80,0x00,0x00); $verdeescuro = imagecolorallocate($imagem,0x00,0x80,0x00); $verde = imagecolorallocate($imagem,0x00,0xFF,0x00); $azulescuro = imagecolorallocate($imagem,0x00,0x00,0x80); // 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,5,32 + 10 * $i,32+rand(-5,5),rand(1,9),$azulescuro); // Finalizar a imagem imagepng($imagem); exit(); ?>