Panafrikan PHP

An educational initiative by EColSi

Discover EColSi
Choose your language
Explore the course

B09 — Valida antes de confiar y escapa antes de mostrar

Nivel básico · Lección B09

B09 — Valida antes de confiar y escapa antes de mostrar

B09 — Valida antes de confiar y escapa antes de mostrar

Resultado: formulario con errores claros y salida segura.
Concepto central: validar entrada y escapar salida resuelven problemas diferentes.
Tiempo orientativo: 100–130 minutos.

¿Por qué un campo “obligatorio” todavía necesita validación PHP?

Porque cualquier solicitud puede modificarse fuera del formulario. El servidor debe comprobar presencia, tipo, rango y reglas. Después, al mostrar texto, debe codificarlo para el contexto HTML.

Conexión anterior

Protegeremos el formulario de B08.

Laboratorio guiado

<?php
$rawHours = $_POST['hours'] ?? null;
$errors = [];
$hours = filter_var($rawHours, FILTER_VALIDATE_INT, [
    'options' => ['min_range' => 1, 'max_range' => 40],
]);

if ($_SERVER['REQUEST_METHOD'] === 'POST' && $hours === false) {
    $errors['hours'] = 'Escribe un número entre 1 y 40.';
}
?>

Al imprimir texto proporcionado por el usuario usa htmlspecialchars($value, ENT_QUOTES, 'UTF-8').

Misión Media

Valida nombre de alias, tema y horas. Muestra un mensaje junto a cada campo y conserva valores seguros. Prueba caracteres como < y &.

Extensión Universidad

Construye funciones separadas de normalización, validación y escape. Define una matriz entrada–regla–error y explica por qué filtrar no sustituye el modelado del dominio.

Pruebas

Vacío, mínimo, máximo, fuera de rango, decimal, texto y caracteres HTML.

Entrega

Envía matriz, código, evidencia de seis casos y explicación entre validar y escapar. ENVIAR AL TUTOR.

Siguiente: B10 — Proyecto básico.

Comments

Popular posts from this blog

Bem-vindo ao Panafrikan PHP: aprenda, construa e compartilhe

Bienvenue sur Panafrikan PHP : apprenez, créez et partagez