PHP3: seguridad y fiabilidad de bases de datos desde la Red

Corría el año 1994, más concretamente finales de éste, cuando Rasmus Lerdorf dio forma al lenguaje PHP. En un principio este lenguaje sólo fue usado por su creador para llevar cuenta de las personas que accedían al documento HTML en el que estaba su currículo. El código de ese antecesor del PHP, fue reescrito a mediados de 1995. A esta nueva actualización se la llamo PHP/FI versión 2, y surgió de la remodelación de ese programa inicial junto con otro paquete que Lerdorf había diseñado, el FI, que permitía analizar datos provenientes de documentos HTML. El PHP/FI ya incluía como característica principal la compatibilidad con mSQL, sistema con el que aún mantiene, en versiones más recientes, una estrecha compatibilidad. Años después el código del PHP/FI fue reescrito dando lugar a lo que hoy es uno de los lenguajes de programación basados en servidor más extendido, el PHP3.0. El PHP3.0 al ser un lenguaje basado en servidor tiene que ser ejecutado desde éste, al contrario que los documentos HTML que son interpretados por los navegadores, o los programas Javascript que son ejecutados por las máquinas virtuales de los mismos. El PHP está diseñado para un mercado aún en expansión, por el momento sólo tiene en el formato ASP (Active Server Pages) a su único rival de importancia, aunque las ventajas que el PHP aporta frente a éste son muchas. En especial la mayor de ellas es que el código de PHP es multiplataforma, algo que permite que dicho lenguaje pueda ser portado de un sistema operativo a otro sin ningún problema, así, además de la versión original para Linux, se han desarrollado otras para otros sistemas como Windows NT. Aunque el intérprete de PHP puede ser ejecutado en cualquier servidor Web, es actuando como módulo del reconocido servidor Web Apache donde logra un mejor rendimiento. A todas estas ventajas hay que añadir que, al ser el PHP un proyecto incluido en el Open Group, su código es por lo tanto completamente gratuito.

¿Qué permite hacer el PHP?
El PHP pertenece a la familia de los lenguajes que son ejecutados en el servidor por lo que permite llevar a cabo funciones interesantes como ejecutar el proceso de autentificación del usuario (suponiendo que el servidor Web correspondiente permita realizar dicho proceso), y el poder realizar cualquier tipo de proceso a una imagen GIF, utilizando solamente una línea de código. Pero su funcionalidad más interesante es la compatibilidad que ofrece con la mayoría de los sistemas de bases de datos actuales, entre ellos el mySQL, cuyo código también es de libre distribución, y Oracle. Gracias al PHP el acceso a estas bases de datos desde un documento HTML es mucho más simple, que anteriormente, con los complicados CGI´s que daban más de un dolor de cabeza debido a su larga y difícil programación ya fuera en PERL o en C. El funcionamiento del PHP en todas estas funciones es muy similar, el navegador solicita la página web al servidor, este documento HTML se sabe que contiene código PHP3 cuando contiene la terminación “.php3”. Una vez recibida esta petición el servidor activa el código PHP3 y ejecuta la acción que este solicite, como por ejemplo el sacar un número determinado de usuarios de una base de datos, y transforma esa información a código HTML que puede ser interpretado sin ningún problema por el navegador correspondiente.

Código en PHP para realizar la autentificación de un usuario
<?php
function authenticate() {
Header( “WWW-authenticate:
basic realm=’Test Authentication System’”);
Header( “HTTP/1.0 401 Unauthorized”);
echo “Debe introducir un password correcto para acceder al sistema\n”;
exit;
}
if(!isset($PHP_AUTH_USER) || ($SeenBefore == 1 && !str-cmp($
OldAuth, $PHP_AUTH_USER)) ) {
authenticate();
}
else {
echo “Bienvenido: $PHP_AUTH_USER<BR>”;

echo “Old: $OldAuth”;
echo “<FORM ACTION=\”$PHP_SELF\” METHOD=POST>\n”;
echo “<INPUT TYPE=HIDDEN NAME=\”SeenBefore\” VALUE=\”1\”>\n”;
echo “<IN-PUT TYPE=HIDDEN NAME
=\”OldAuth\” VALUE=\”$PHP_AUTH_USER\”>\n”;
echo “<INPUT TYPE=Submit VALUE=\”Re Authenticate\”>\n”;
echo “</FORM>\n”;
}
?>

Cómo es un documento PHP3
Al igual que en todos los demás lenguajes de script, el código generado en php se integra en el código HTML, para diferenciarlo de este el comienzo del script
en php se señala con la etiqueta de marcado “ <?php “, la cual al igual que sucede con todas las demás etiquetas del lenguaje HTML, se cerrará con su correspondiente etiqueta de cierre, en este caso “ ¿> “. Un ejemplo claro de esto se encuentra en el siguiente fragmento de código en PHP:

<?php
$fichero_cache = "/tmp/kernel.cache";
$intervalo_cache = 36000; # 10 horas
...............
...............
?>

Este tipo de llamada al módulo php3 suele ser la más usual, pero también se pueden sustituir las etiquetas de inicio/fin respectivamente por “ <script languaje=”php” “/” </script> “. Además de estos dos modos de delimitar el script en php, el lenguaje php permite utilizar las etiquetas que se usan para delimitar los scripts en asp, una vez que el software php3 ha sido configurado para tal fin.
El formato y las instrucciones que el lengua

Viñeta publicada el 20 de febrero de 1870 en La Flaca n.º 35 Tendencias

ny2 ACTUALIDAD

ny2 Sociedad de la información

Día de la Movilidad y el BYOD Coffee Break