0Pricing
PHP Academy · Aula

Validação de formulários

Valide os dados inseridos pelos usuários para garantir segurança e correção

Validação de formulários é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 3 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 3 aulas no total.

Validando e protegendo entradas de formulário

Validando e protegendo entradas de formulário

Bem-vindo à próxima lição! Nesta lição, você aprenderá a validar e proteger as entradas dos usuários para garantir que seus formulários estejam corretos e protegidos contra ataques maliciosos. Vamos começar!

Validação de formulários — ilustração 1

Por que validar e proteger as entradas?

Por que validar e proteger as entradas?

A validação e a proteção das entradas de formulário são fundamentais para:

  • Garantir a precisão e a usabilidade dos dados.
  • Proteger contra ameaças à segurança, como injeção de SQL e ataques de XSS.

Ponto-chave: Sempre valide e higienize as entradas dos usuários antes de processá-las ou armazená-las.

Validando entradas

Validando entradas

Use as funções integradas do PHP para validar entradas comuns:

  • filter_var(): Valida e-mails, URLs e números inteiros.
  • preg_match(): Valida entradas com base em expressões regulares.

Exemplo: Validando um endereço de e-mail:

<?php
  if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $email = $_POST["email"];
    if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
      echo "Valid email: $email";
    } else {
      echo "Invalid email address.";
    }
  }
?>

Higienizando entradas

Higienizando entradas

Higienize as entradas para remover caracteres indesejados ou código nocivo. Exemplo:

Dica: Use filter_var() com filtros apropriados para diferentes tipos de dados.

<?php
  if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = filter_var($_POST["name"], FILTER_SANITIZE_STRING);
    echo "Sanitized Name: $name";
  }
?>

Prevenindo scripts entre sites (XSS)

Prevenindo scripts entre sites (XSS)

Converta caracteres especiais para evitar ataques de XSS. Use:

  • htmlspecialchars(): Converte caracteres especiais em entidades HTML.

Exemplo:

Dica: Sempre converta as entradas dos usuários antes de exibi-las no navegador.

<?php
  if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $comment = htmlspecialchars($_POST["comment"]);
    echo "Comment: $comment";
  }
?>

Prevenindo a injeção de SQL

Prevenindo a injeção de SQL

A injeção de SQL ocorre quando código malicioso é inserido nas suas consultas SQL. Use instruções preparadas para evitá-la. Exemplo:

Ponto-chave: Sempre use instruções preparadas para interagir com o banco de dados.

<?php
  $pdo = new PDO("mysql:host=localhost;dbname=testdb", "root", "");
  $stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username");
  $stmt->execute(["username" => $_POST["username"]]);
  $user = $stmt->fetch();
?>

Padrões comuns de validação

Padrões comuns de validação

Aqui estão alguns padrões comuns:

  • Validando um número de telefone: preg_match('/^\d{10}$/', $phone)
  • Validando uma senha: verifique o comprimento e a complexidade.

Exemplo: Validando uma senha forte:

<?php
  if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $password = $_POST["password"];
    if (strlen($password) >= 8 && preg_match('/[A-Z]/', $password)) {
      echo "Strong password!";
    } else {
      echo "Password must be at least 8 characters long and include an uppercase letter.";
    }
  }
?>

Protegendo envios de arquivos

Protegendo envios de arquivos

Para formulários que processam envios de arquivos:

  • Verifique o tipo e o tamanho do arquivo.
  • Armazene os arquivos em um diretório seguro fora da raiz da web.

Exemplo:

<?php
  if ($_FILES["file"]["size"] < 500000 && in_array($_FILES["file"]["type"], ["image/jpeg", "image/png"])) {
    move_uploaded_file($_FILES["file"]["tmp_name"], "/secure/location/" . $_FILES["file"]["name"]);
    echo "File uploaded successfully!";
  } else {
    echo "Invalid file.";
  }
?>

Bom trabalho!

Bom trabalho!

Parabéns! Você aprendeu a validar e proteger as entradas de formulário para garantir que suas aplicações web sejam seguras e confiáveis. Na próxima lição, vamos explorar como processar envios de arquivos em PHP. Continue programando!

Validação de formulários — ilustração 10

Perguntas Frequentes

A aula “Validação de formulários” é grátis?

Sim — o texto completo de “Validação de formulários” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 3 aulas no total.

O que vou aprender em “Validação de formulários”?

Valide os dados inseridos pelos usuários para garantir segurança e correção Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar PHP Academy?

Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 3.

Quanto tempo leva a aula “Validação de formulários”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de PHP Academy?

Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Criando formulários HTML
  2. Tratando dados de formulários com PHP
  3. Validação de formulários
← Voltar para PHP Academy