función __autoload() en php

Cuando trabajamos con objetos en php, debemos cargar previamente los archivos que contienen las clases que queramos instanciar.

Cuando trabajamos con muchos archivos de clases, la función __autoload nos automatiza el uso de includes/requires para dichos archivos.

__autoload nos evita tener que escribir un require/include por cada nueva clase que queramos instanciar, vemos un ejemplo:


function __autoload($nombre_de_clase) {
require_once $nombre_de_clase . '.php';
}
$objeto1 = new Clase1();
$objeto2 = new Clase2();
?>

En éste ejemplo al crear $objeto1 y $objeto2 se harán los correspondientes require_once para cada clase y, de no encontrar el archivo con el mismo nombre de la Clase en cuestión, dará error.

Un recordatorio para los que trabajan con php

En la página de descargas de PHP.net podemos leer:

“Support for PHP 4 will be discontinued at 2007-12-31. Please consider upgrading to PHP 5.2.”

Lo que viene a ser en castellano más o menos:

“El soporte para PHP 4 va a ser interrumpido / eliminado / cesado / abandonado / ‘perdido como lágrimas en la lluvia’ / finalizar el 31-12-2007. Por favor, considera el actualizar a PHP 5.2″

….y merece la pena el cambio, en serio

Reportaje de la sexta sobre lectores de tinta electrónica

Tenía pendiente publicar un post sobre mi experiencia con el lector de tinta electrónica ILiad, de iRex Technologies, el cual se me ha convertido en una herramienta imprescindible para leer libros técnicos y manuales en pdf.

La sexta ha hecho un reportaje en el que vemos el ILiad funcionando. Si os fijáis podréis ver que, la imagen impresa en la pantalla, parece la de un papel real detras de una fina capa de plástico. A mi me resulta muy útil para leerme un pdf de varios cientos de páginas que de otro modo, en un ordenador o PocketPC, no podría leer tan cómodamente.

[youtube A8N2SAZ-XS8]

Virtual Cable, avance importante en sistemas de navegación para el coche

Virtual Cable es un sistema tipo HUD (Head-Up Display) que nos dibuja mediante tecnología laser, y sobre el cristal del parabrisas en nuestro vehículo, la trayectoria que debemos seguir cuando hemos marcado un destino en nuestro GPS (Se integra con cualquier sistema de navegación).

[youtube mljbWzI6miE]

Además de lo que impresiona verlo funcionar, como se puede apreciar en el video anterior, hay que pensar que con éste sistema se reducen las distracciones al máximo ya que no quitamos en ningún momento la vista de la carretera.

[youtube CL3sbsWOu2k]

Extraer un fichero local de un servidor mysql mediante una sql injection

En mysql existe la función LOAD_FILE que admite como parámetro la ruta de un fichero local en Hexadecimal.

Si por ejemplo convertimos “c:\boot.ini” a su representación hexadecimal “0x633A5C626F6F742E696E69″ y se realiza la injection de abajo, la condición será True si la primera letra del fichero corresponde con el carácter ASCII 1.

http://www.dominioejemplo.com/index.php?id=1 and
mid(Load_File(0x633A5C626F6F742E696E69),1,1)=CHAR(1)

Por cada query de éste tipo carga el archivo completo en memoria, recorriendo todos los valores posibles del alfabeto hasta llegar al final del mismo.

Fuente: 3ª Parte del artículo “Técnicas avanzadas de Blind SQL Injection por Chema Alonso”