Artículos

  • PHP 0

    Prevenir XSS en PHP: htmlspecialchars, contextos de escape y Content Security Policy

    Aprende a prevenir XSS en PHP escapando la salida según el contexto: htmlspecialchars() para HTML, json_encode() para JavaScript y rawurlencode() para URLs. Incluye la trampa de los eventos onclick, nonces CSP en PHP y ejemplos reales con antipatrones.

  • PHP 0

    Prevenir CSRF en PHP: tokens de formulario, validación y cookies SameSite

    Aprende a prevenir CSRF en PHP con tokens generados con bin2hex(random_bytes(32)), validados con hash_equals() y protegidos con cookies SameSite=Strict. Incluye el patrón double submit cookie para APIs AJAX y la verificación del header Origin como segunda capa de defensa.

  • PHP 0

    Cifrado en PHP: openssl_encrypt, libsodium y cómo proteger datos sensibles

    Cifrado simétrico en PHP con openssl_encrypt y AES-256-GCM o libsodium. Cuatro ejemplos reales: cifrado y descifrado de datos, sodium_crypto_secretbox, secretstream para ficheros grandes y el antipatrón de AES-CBC sin autenticación del mensaje.

  • PHP 0

    OPcache en PHP: qué es, cómo configurarlo y el impacto real en rendimiento

    OPcache guarda los opcodes compilados de PHP en memoria compartida para que las peticiones siguientes no necesiten recompilar. Aprende a configurarlo para producción, a limpiar la caché al deployar con opcache_reset() y opcache_invalidate(), y a activar el JIT de PHP 8.

  • PHP 0

    PHAR en PHP: empaquetar una aplicación PHP en un único fichero ejecutable

    PHAR es el formato de PHP para empaquetar una aplicación completa en un único fichero ejecutable. Aprende a crear phars con buildFromDirectory(), filtrar ficheros, comprimirlos con GZ y firmarlos con clave privada, con ejemplos reales listos para usar.

  • PHP 0

    php.ini para producción: configuración segura y ajustes de rendimiento

    Las directivas de php.ini imprescindibles para un servidor de producción: cómo desactivar display_errors, proteger sesiones con cookie_httponly y cookie_secure, limitar memoria y tiempos de ejecución, deshabilitar funciones peligrosas y diferenciar php.ini global de php_admin_value.

  • PHP 0

    Construir una API REST con PHP puro: routing, respuestas JSON y autenticación con token

    Aprende a montar una API REST con PHP sin frameworks: front controller con .htaccess, router manual con match, respuestas JSON con json_encode, lectura del body con php://input y autenticación con Bearer token. Ejemplos reales de GET, POST y DELETE.

  • PHP 0

    ZipArchive en PHP: crear, leer y extraer ficheros ZIP

    Aprende a usar la clase ZipArchive de PHP para crear, leer y extraer ficheros ZIP. Ejemplos reales: generar ZIPs para descarga directa, backups recursivos de directorios, cifrado con contraseña AES-256 e importar datos desde un ZIP subido por el usuario.

  • PHP 0

    GD e Imagick en PHP: redimensionar, recortar y procesar imágenes

    GD e Imagick son las dos opciones para procesar imágenes en PHP. GD viene integrada y cubre la mayoría de los casos: thumbnails con proporciones, recorte de avatares y marcas de agua. Imagick da mejor calidad de reescalado. Ejemplos reales y el error más habitual con imagedestroy.

  • PHP 0

    PHP 8.4: property hooks, asymmetric visibility y nuevas funciones de array

    PHP 8.4 llega con property hooks para declarar getters y setters directamente en las propiedades, asymmetric visibility para controlar por separado quién lee y quién escribe, cuatro nuevas funciones de array y soporte nativo para objetos perezosos. Todo lo que la comunidad pedía desde hace años.