Validação de dados no PHP

Documentos relacionados
Por que o Wi-Fi cai quando toca o telefone sem fio?

O que seus s profissionais podem revelar sobre você

Funções Diversas. Filtro Exemplo validação de . Funções para Data e Hora

Sistema de Nota Fiscal de Serviços Eletrônica Manual do Contador

Como validar essa informação? A resposta é simples, através de expressões regulares.

Escolas e Faculdades QI. Demétrius Loblein e Carlos Henrique EXPRESSÕES REGULARES

PORTAL INSTITUCIONAL

Prof. Esp. Andrew Rodrigues 1

Desenvolvimento Web III. Prof. Felippe Scheidt

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel

Linguagem de Programação III - PHP

WEBDESIGN. Professor: Paulo Marcos Trentin - Escola CDI de Videira

Cadastro e Acesso ao Portal de Suporte da AX4B

Na parte superior do site, temos um menu com botões que utilizaremos para a navegação do site.

Cross-Site Scripting. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo

Manual Recurso Variáveis Entrada. FullCopyConvert Data

Escrever scripts de PHP com HTML

SMS: Envio Coletivo de Mensagem Passo 1: Remetentes

Como usar o SCV Sistema de Controle Vegetal do Indea-MT CADASTRO. Para cadastrar a sua empresa você deve seguir esses passos.

NOVIDADES DO JAVA PARA PROGRAMADORES C

Tutorial de Administração de sites do Portal C3

Caso já esteja cadastrado mas não lembra da senha Click no Link esqueci Minha Senha.

Apostila - Desenvolvimento web com PHP

Prof. Esp. Fabiano Taguchi PHP. Como surgiu o PHP? PHP

Faça seu login na página pt-br.wordpress.com. Caso ainda não tenha um login, registre-se.

Manual de Fatura de Exames

Professor Jefferson Chaves Jefferson de Oliveira Chaves

Módulo Recursos Humanos. Manual do Usuário

MANUAL OPERACIONAL SISTEMA DIGINOTA NOTA FISCAL DE SERVIÇO DE COMUNICAÇÃO MODELO 21/22

Troca de Informações Através de Arquivo Pessoa Jurídica

Configurações para emissão de Nota Fiscal de Serviços de Pontes e Lacerda - MT.

Introdução. Documento revisão 2.1

JavaScript (ou JScript)

GOVERNO DO ESTADO DE SÃO PAULO SECRETARIA DE GESTÃO PÚBLICA

Descrição dos casos de uso. UC1 Efetuar Login. Campos:

Tutorial para acesso ao Curso Preparatório para o TESTE ANPAD

Manual GTO Online MANUAL PARA PREENCHIMENTO GTO ONLINE (ÁREA RESTRITA PARA DENTISTA) VERSÃO 1.0 (02/2015)

SISTEMA INTEGRADO DE GERENCIAMENTO DO ISS SIGISS. Manual de Envio de Notas Fiscais Eletrônicas em lote Instruções e Layout

API PAGAMENTOS. Todas requisições devem ser feitas para o endpoint

MANUAL DE SUBSMISSÃO DO PIBIC

Manual de Utilização Autorizador Web 3.1

Conhecendo o Sistema

SQL INJECTION: ENTENDENDO E EVITANDO. MAGALHÃES, Felipe. B. ¹, BASTOS, Rafael. R² RESUMO

Manual para atualização do portal do CNPq - versão 1.0 Popularização da Ciência

INTRODUÇÃO AO DESENVOLVIMENTO FRONT-END COM HTML, CSS E JAVASCRIPT

Usando a geração de boletos

Manual do Sistema de Inscrições para o 23º SIICUSP. Pró-Reitoria de Pesquisa

SISTEMA INTEGRADO DE GERENCIAMENTO DO ISS SIGISS

Autenticação Segura. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo

AJUDA DE NAVEGAÇÃO OFFICE2 CRM - CLIENTE

Estácio-FIC Graduação em Redes de Computadores

Copyright Padrão ix Sistemas Abertos S/A. Todos os direitos reservados.

PORTAL DE SERVIÇOS DA SECRETARIA MUNICIPAL DE EDUCAÇÃO MANUAL DE UTILIZAÇÃO PARA INSCRIÇÕES ONLINE ÍNDICE

TUTORIAL UTILIZAÇÃO XOOPS UEFS. AEI - Gerência de Suporte

MANUAL DE PROCEDIMENTOS PROCESSOS DE PROGRESSÃO/PROMOÇÃO DOCENTE

Computação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28

Manual - New Space. Título da apresentação

1 handshake 2 consulta 3 alterausuario

Professor Jefferson Chaves Jefferson de Oliveira Chaves - IFC Araquari

Integração Fidelimax. Versão Atual

Manual do Usuário. Inscrição Online 2017

IFSC-Programação para a WEB - prof. Herval Daminelli

CADASTRO NACIONAL DE MEDIADORES JUDICIAIS E CONCILIADORES CCMJ

TOTVS Manual do Usuário Intellector Portal

PORTO DO AÇU MANUAL DE CADASTRO DE FORNECEDORES

Web Interativa com Ajax e PHP

COMO FAZER A SUA INSCRIÇÃO ON-LINE

Ambientação à Plataforma Moodle

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE GOIÁS PRÓ-REITORIA DE ADMINISTRAÇÃO E FINANÇAS. Processo de pagamento de bolsas e pessoa física SEI!

SISTEMA GDAE - MANUAL DADOS PESSOAIS

SLP Supplier Lifecycle and Performance

PAPO SMS MANUAL DE INTEGRAÇÃO DO DESENVOLVEDOR VERSÃO 1.0.1

Passo a passo para emissão de Nota Fiscal de Produtor Eletrônica NFP-e

Dreamweaver CS5 Plano de Aula - 24 Aulas (Aulas de 1 Hora).

MANUAL EXPORTA FÁCIL PRÉ-POSTAGEM DOCUMENTO

Tutorial. Conselho de Escola

Transcrição:

Validação de dados no PHP Um dos princípios de segurança de um sistema Web é que você não deve acreditar 100% no que o usuário possa inserir nos campos de um formulário (dados enviados pelo POST) ou alteração da URL (dados enviados pelo GET). Nesta postagem, não vou focar segurança em si, mas vou mostrar como validar os dados dos usuários para que o seu site/sistema tenha um melhor controle dos dados manipulados. Este tipo de validação pode ser feito diretamente pelo navegador do usuário com o Javascript, mas como você não deve confiar nisto, acaba não sendo 100% seguro, então irei mostrar como fazer no servidor, diretamente no PHP, mas com isto o desempenho acaba sendo menor. Mas aí você me pergunta qual tipo de controle eu iria utilizar, Javascript ou PHP? Eu respondo que utilize o PHP, mas se utilizar os dois em conjunto, melhor ainda. Entenda o porque de utilizar os dois métodos. Quando você implementa o Javascript, ele irá atuar diretamente no navegador como eu disse anteriormente, evitando que os dados sejam enviados para o servidor, bloqueando ali mesmo qualquer tipo de padrão que você deseja. Mas mesmo que o usuário burle o Javascript, o PHP irá agir da mesma forma, bloqueando os dados inválidos/indesejáveis. Acho que já deu pra entender qual é o objetivo das validações né? Então vamos ao que importa, as técnicas. Tamanho mínimo de caracteres A função strlen() conta quanto caracteres foi passado na string e utilizando em conjunto com o IF. $nome = $_GET['nome']; if(strlen($nome)<=2){

echo "Preencha o nome com no mínimo 2 caracteres."; else{ echo "Seu nome \"$nome\" tem ".strlen($nome)." caracteres."; Aceitando somente números A função is_numeric() verifica se o valor passado é número, independente de ser do tipo float, integer, long, etc. $idade = $_GET['idade']; if(!is_numeric($idade)){ echo "Preencha a idade somente com números."; else{ echo "Sua idade é ".$idade." anos."; Evitando espaços em branco Utilizaremos a função strstr() que irá pesquisar na string se ela possui um espaço vazio que está entre as aspas duplas. Caso ache um espao, ele entrará na primeira condição, informando o erro. $palavra = "teste teste"; if(strstr($palavra, " ")){ echo "A palavra não pode ter espaços."; else{ echo "Você escreveu ".$palavra; Evitando campo vazio Neste caso, iremos utilizar a função empty(), que verifica se

o campo esta vazio, mas caso você faça o teste de enviar apenas um espaço em branco, ele irá aceitar. $palavra = "teste"; if(empty($palavra)){ echo "A palavra não pode estar vazia."; else{ echo "Você escreveu ".$palavra; Validando e-mails Método 1 (Expressão Regular) A validação de um e-mail através de expressão regular. $email = "teste@dominio.com.br"; if(!preg_match('/^[^0-9][a-za-z0-9_]+([.][a-za-z0-9_]+)*[@][aza-z0-9_]+([.][a-za-z0-9_]+)*[.][a-za-z]{2,4$/', $email)){ echo "E-mail inválido."; else{ echo "Seu e-mail é ".$email; Validando e-mails Método 2 (PHP) A validação de um e-mail através do próprio filtro do PHP. $email = "teste@dominio.com.br"; if(!filter_var($email, FILTER_VALIDATE_EMAIL)){ echo "E-mail inválido."; else{ echo "Seu e-mail é ".$email;

Validando CEP Aceita os CEPs do tipo XXXXX ou XXXXX-XXX através de expressão regular. $cep = "55324-424"; if(!preg_match('/^[0-9]{5,5([- ]?[0-9]{3,3)?$/', $cep)) { echo "CEP inválido."; Validando Data Aceita somente data no formado XX/XX/XXXX através de expressão regular. $data = "04/04/2011"; if(!preg_match('/^\d{1,2\/\d{1,2\/\d{4$/', $data)) { echo "Data inválida."; Validando Telefone Permite a utilização de string com telefone com DDD de 2 ou 3 dígitos (inclusão do zero na frente) no formato (XXX) XXXX- XXXX. $telefone = "(82) 5555-5555"; if(!preg_match('^\(+[0-9]{2,3\) [0-9]{4-[0-9]{4$^', $telefone)){ echo "Telefone inváildo.";

Validando CPF Não é a melhor forma de validar o CPF, mas em breve vou atualizar este exemplo pra uma forma mais completa. $cpf = "111.444.777-35"; if(!preg_match("^([0-9]){3\.([0-9]){3\.([0-9]){3- ([0-9]){2$", $cpf)) { echo "CPF inválido."; Acho que estas validações irão ajudar no entendimento, mostrando o caminho para validar outros tipos de dados que venham a ser necessário para os seus sites e sistemas. Eu aceito sugestões de novas validações para que eu possa incluir nestes exemplos. Grande abraço e bons estudos!