Mensajes de error en entornos de producción

¿Que por qué es importante desactivar la visualización de mensajes de error en producción? Pues para evitar situaciones como ésta:

11582-12539.jpg

Y cómo hacerlo:

  • A lo bruto: Puedes detectar mediante código si te encuentras en el entorno de producción o de desarrollo mediante, por ejemplo, una variable de servidor: $_SERVER["SERVER_NAME"]. Dependiendo de si estás o no en producción, puedes eliminar los mensajes de error con un error_reporting(0), y en cualquier caso usar un sistema de logueo o de avisos propio para informarte del problema.
  • Bien: En el fichero de configuración de PHP, php.ini, desactivamos la muestra de errores por pantalla ( display_errors = Off ), y dejamos que éstos queden reflejados en el log de errores del servidor ( log_errors = On ). De esta forma, seguiremos estando informados de cuando algo falla, y evitaremos mostrar nuestras vergüenzas a los usuarios...
»

Buffete libre de Cheat Sheets: Sírvase usted mismo

Si eres desarrollador o trabajas en esto del diseño web estarás conmigo en lo útil que resulta en ocasiones disponer de pequeñas chuletas donde apuntar los patrones más comunes al contruir una query, o los diferentes selectores soportados por CSS2, o un listado con funciones de tratamiento de cadenas de texto para PHP...

A estos efectos, los Cheat Sheets de ilovejackdaniels.com son bastante prácticos ( yo tengo 3 copias plastificadas en el escritorio ) y cubren diferentes áreas o tecnologías. Lo mejor: que van al grano. No pretenden ser pequeños manuales , sino guias de consulta rápida para aquellos que ya tienen ciertos conocimientos ( de hecho suelen ocupar una sóla hoja ).

»

Descripción y fuentes del upload PHP + AJAX con barra de progreso

Días atrás comenté que había estado trabajando en un pequeño experimento para conseguir implementar un sistema para realizar upload de archivos mediante PHP, que permitiera generar una barra de progreso, con la que controlar el estado de la carga de archivos en todo momento.

A continuación encontraréis disponible para descara el código fuente de dicho experimento y una pequeña descripción del paquete y de los requisitos para su puesta en marcha.

Contenidos del paquete

  • /cgi-bin/upload.cgi: este es el CGI perl que se encarga de gestionar el upload, además de ir escribiendo todos los datos POST en un único archivo que nos permite controlar el total de datos cargados en el servidor en un momento determinado.
  • /upload.php: es el documento principal, que contiene el código HTML y JS necesario para crear dinámicamente los campos file y el listado de archivos que vamos a cargar al servidor, así como dibujar dinámicamente la barra de progreso a partir de las respuestas recibidas por AJAX.
  • /ajax_process.php: es el script PHP que recibirá las peticiones AJAX, comprobará el estado del upload y devolverá una respuesta XML con datos como el tamaño total del archivo, la cantidad de datos cargada, los nombres de los archivos...
  • /xml.class.php: un par de clases para crear/parsear datos XML.
  • /img: contiene dos imágenes opcionales: un fondo animado para la barra de progreso y un icono "en proceso".

Ejemplo en vivo

Podéis ver un ejemplo real en la URL https://www.obolog.com/upload.php

»

En casa del herrero... II

Siguiendo con la serie de errores inauditos y sorprendentes, hace justo unos minutos que la home de PHP.net nos devuelve este error. Lo peor no es sólo eso, sino que al escribir la URL del include que está dando error... PUM! aparece el código fuente de los mismos. Bueno, nadie es perfecto.

Una vez más se demuestra... En casa del herrero, cuchillo de palo.

»

Buscador en PHP

Bueeeno, aquesta nit toca post tècnic, que ja he aconseguit _quasi_ acabar una de les parts que trobo més interessant del blog: el cercador. Amb el pas del temps la quantitat d'informació enregistrada a la web ha augmentat considerablement, i sense una bona categorització i organització dels continguts, certs missatges corren el perill de caure en l'oblit. En aquest sentit, tenir un arxiu de missatges agrupats per categories o data pot ser molt útil, però perd efectivitat quan parlem de categoríes amb més de 100 missatges. Trobar un post concret es pot convertir en tota una aventura. És aqui on es posa a prova la utilitat d'un cercador eficient.

»