martes, 6 de noviembre de 2007

Leyes que dan la espalda a internet.

Harto de que me mande spam de 'alargue su pene' con imágenes explícitas incluidas pensé: 'mando un email a la Guardia Civil denunciándolo y si quieren y/o pueden ya harán algo', pero no ha podido ser. Para presentar denuncias por delitos telemáticos tienes que presentarte en el cuartelillo de la Guardia Civil y no me pilla de camino.
No deja de ser una lastimosa contrariedad tener que trasladarme para presentar una denuncia para esto. Además, ¿quá hago? ¿imprimo el email para que lo vean? ¿tan complicado es poner un formulario de denuncias anónimas?
Al final la culpa no es de estos profesionales sino de los legisladores que están más preocupados en poner banderas en los ayuntamientos que en hacer bien su trabajo. Y es que hoy por hoy el spam está poniendo en jaque internet, hace de este un medio incómodo y poco fiable. Donde hay público sensible que está expuesto a información no deseada y no está protegido por el sistema.


Más información:
https://www.gdt.guardiacivil.es/denuncias.php

__destruct , fopen() , problema y solución.

Ayer estuve jugueteando un poco con el método predefinido __destruct (PHP5) y descubrí algo interesante. Eso si, la explicación estaba en la ayuda oficial de PHP en esas notas que casi siempre se olvidan.
El código era el siguiente:


function __destruct()
{
//Serializamo el vector.
$Serializacion = serialize( $this->Vector );

//Grabamos la serialización en un fichero
$Fichero = fopen('Datos.txt', 'a');
fwrite($Fichero, $Serializacion);
fclose($Fichero);
}


El fichero en concreto estaba grabado en el directorio /var/www/Ajax/ y tenía todos los permisos correctos para que la operación fuese llevada a cabo con éxito pero cada vez que se ejecuta el script se interrumpía por un error en la instrucción fopen debido a que no encontraba el fichero en la ruta especificada.
La causa es la implementación del método __destruct que no garantiza el funcionamiento de ninguna ruta relativa que se especifique por lo tanto las rutas deben ser absolutas.
De esta manera el código queda como:

function __destruct()
{
//Serializamo el vector.
$Serializacion = serialize( $this->Vector );

//Grabamos la serialización en un fichero
$Fichero = fopen('/var/www/Ajax/Datos.txt', 'a');
fwrite($Fichero, $Serializacion);
fclose($Fichero);
}