Actualización de McAfee bloquea millones de ordenadores

Publicado Por; jatgjose | Publicado en: Noticias | Publicado el dia: 30-04-2010

0

Una actualización de las definiciones de malware empujado por McAfee antivirus a sus clientes de ayer contenía una rutina de detección de fallos que causó que millones de computadoras entraran en un bucle de reinicio. El problema del sistema de fuerte inestabilidad resultado de bloqueo errónea del archivo svchost.exe crítica en ordenadores con Windows XP SP3.

La actualización problemática, identificado como el DAT 5958, que detectó el archivo svchost.exe en Win XP SP3 que estaban infectados con nuevas variantes de la familia Wecorl de malware. Según Microsoft, svchost.exe es un archivo vital de Windows a cargo de la carga de servicios que van desde archivos DLL.

McAfee publicó una actualización corregida, DAT 5959, horas después de la definición falsa. Sin embargo, la solución tiene que ser desplegado a los sistemas afectados de forma manual en modo seguro, una pesadilla para el personal de TI en las grandes empresas con miles de ordenadores. Además, si el archivo svchost.exe se ha eliminado o puesto en cuarentena, se debe restaurar a partir de ubicaciones de copia de seguridad. El procedimiento se describe con más detalle en un artículo de la base de conocimientos McAfee relacionados con este incidente.
Para solucionar este problema, si es que has sido afectado, hay dos alternativas. La primera es descargar el archivo  Extra.dat y hacerlo correr, lo que arreglará la situación. La segunda opción es hacer un “roll back” del DAT, es decir, volver a la versión de ayer del antivirus (5957).

Encuestas en AS2 y PHP

Publicado Por; jatgjose | Publicado en: PHP, Programación | Publicado el dia: 29-04-2010

0

Vamos a ver como crear encuestas en AS2 utilizando PHP. Se puede votar una sola vez por número IP, y muestra los resultados en barras de porcentaje.

Parte 1

Parte 2

Parte 3

Descargar archivos del tutorial

JpGraph – Parte II: Tu Primera Gráfica Estadística

Publicado Por; jatgjose | Publicado en: Instruciones, PHP, Programación, Software | Publicado el dia: 28-04-2010

0

En la entrega anterior vimos como Instalar esta librería en nuestro servidor de pruebas o en nuestro sitio web y no morir en el intento, esta vez comenzaremos a hacer uso de lo que instalamos esa vez creando nuestra primera gráfica.

AVISO:
Para mayor comodidad de ahora en adelante asumiremos que trabajamos en un entorno de hosting donde no tendremos acceso al directorio PHP y por tanto hemos guardado nuestra librería en el directorio “jpgraph”

Los Datos a Emplearse

Dado que para generar gráficas estadísticas necesitamos datos, para efectos de ejemplo usaremos los datos estadísticos de manchas solares, datos ya disponibles para uso público. Los datos utilizados aquí se toma de SIDC (El Solar Influencias Centro de Análisis de Datos) en Bélgica . En este ejemplo vamos a utilizar el resumen de datos históricos que muestra el número total de manchas solares por año desde 1700.

Preparación de la Data

Lo primero para nuestra gráfica y para nuestro script de PHP es recopilar la data a emplearse, dado que JpGraph no es muy exigente con el origen de los datos, esta tarea sera relativamente fácil y deberemos preocuparnos únicamente que los datos sean número enteros o de coma flotante.
Para generar una gráfica de datos, el origen de los mismos puede ser:

  • Datos escritos directamente en el script. Esta método se recomienda únicamente si la data es realmente estática.
  • Datos almacenados en un archivo de texto plano.(Usaremos esta forma para este ejemplo)
  • Datos almacenados en archivos binarios.
  • Datos cuyo origen es una base de datos.
  • Datos enviados al script por intermedio de la URI pasando los parámetros POST o GET

Lo común en todos los casos es que el desarrollador tenga acceso al menos de lectura a la fuente de los datos, en este caso un archivo de texto plano con dos columnas de datos la primera referida al año ( con un “.5″ añadido a propósito para indicar el promedio del mismo) y la segunda indicando el número de manchas solares para el año correspondiente. Para efectos de muestra visualizaremos las 10 primeras lineas:

Código :

1700.5 5.0
1701.5 11.0
1702.5 16.0
1703.5 23.0
1704.5 36.0
1705.5 58.0
1706.5 29.0
1707.5 20.0
1708.5 10.0
1709.5 8.0

Suponiendo que estos datos están almacenados en un archivo de nombre “yearssn.txt” y que dicho archivo se encuentra en el mismo directorio que nuestro script a realizar, este debera obtener al final dos matrices de datos, una para cada columna:

Código :

<?php
function readsunspotdata($aFile, &$aYears, &$aSunspots) {
$lines = @file($aFile,FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);
if( $lines === false ) {
throw new JpGraphException('Can not read sunspot data file.');
};
foreach( $lines as $line => $datarow ) {
$split = preg_split('/[\s]+/',$datarow);
$aYears[] = substr(trim($split[0]),0,4);
$aSunspots[] = trim($split[1]);
};
};

$year = array();
$ydata = array();
readsunspotdata('yearssn.txt',$year,$ydata);
?>

En este script lo que hemos hecho es leer el archivo de texto y dividir la data en 2 matrices las cuales usaremos ahora para poder crear nuestra gráfica, también se ha incluido un excepción en el caso que la data a obtenerse no este disponible en este primer ejercicio no hemos ahondado en el manejo de errores y se ha colocado este solo ha manera de ejemplo, más adelante se tratará el tema en detalle.
Ahora disponemos de dos matrices, $year y $ydata.

TIP:
Otra forma de manejar archivos externos es trabajando con archivos de valores separados por comas (.CSV) para los cuales PHP tiene métodos específicos para su lectura ReadFileData:: FromCSV ().

Nuestro primer gráfico básico

Para este ejemplo básico usaremos un gráfico de lineas, el código a continuación se centra en la generación del gráfico, pero el código anterior deberá de ser incluido previamente para que funcione todo el conjunto.
Para la generación de cualquier gráfico con esta librería, tenemos necesariamente que incluir al menos 02 archivos, “jpgraph.php” y el archivo que se refiera al gráfico en especifico que vamos a utilizar en este caso en concreto “jpgraph_line.php” ya que la inclusión de estos archivos es vital para el funcionamiento del script, recomendamos el uso de require_once(‘jpgraph/jpgraph.php); se recomienda esta práctica para la inclusión de todas las clases que usemos en el futuro.

Código :

<?php
// Ancho y Alto del gráfico
$width = 600; $height = 200;

// Creamos una instancia de Graph
$graph = new Graph($width,$height);

// Especificamos la Escala que desamos usar,
// int = Escala de enteros para el eje X
// int = Escala de enteros para el eje Y
$graph->SetScale('intint');

// Establecemos el titulo para graph
$graph->title->Set('Sunspot example');

// Establecemos los títulos para el eje X
$graph->xaxis->title->Set('(year from 1701)');

// Establecemos los títulos para el eje Y
$graph->yaxis->title->Set('(# sunspots)');

// Creamos el Dibujo del Gráfico de Lineas
$lineplot=new LinePlot($ydata);

// Añadimos el dibujo a nuestra gráfica
$graph->Add($lineplot);

// Mostramos la gráfica
$graph->Stroke();
?>

El resultado del script de arriba es la imagen que vemos a continuación, para mayor detalle observese los comentarios.

Hasta aquí el día de hoy, la próxima vez concluiremos este ejemplo añadiendo algunas modificaciones a la gráfica que hemos creado hoy, añadiremos un etiquetas al eje X, cambiaremos los colores del área delimitada por la linea e incluso estableceremos la transparencia (canal alpha) para dicho relleno, crearemos un gráfico de barras con la misma data y limitaremos el número de barras a mostrar.

JpGraph – Parte I: Intro e Instalación

Publicado Por; jatgjose | Publicado en: Instruciones, Software | Publicado el dia: 27-04-2010

1

Muchas veces en un proyecto de desarrollo Web, ya sea para una página o para una aplicación, requerimos la creación de una o más gráficas (lineas, áreas, barras, pie, anillo, radar) para representar visualmente datos que de otra forma sería complicado de visualizar, para este tipo de situaciones existe la librería JpGraph desarrollada para cubrir esta funcionalidades y otras que veremos más adelante.

¿Qué es JpGraph?

JpGraph es una poderosa librería desarrollada para PHP4 y PHP5 cuyo propósito es simplificar la creación del trazado de gráficas dinámicas en 2D, JpGraph ademas se puede usar por si misma o como parte integrada de un proyecto mayor.

Prerequisitos

  • Cualquier Sistema Operativo de 32bits capaz de operar PHP5.
  • PHP5, versión 5.1.0 o superior (puede funcionar con versiones anteriores pero no esta soportado oficialmente).
  • Tener la librería GD 2.x de PHP activada. Normalmente viene incluida con la distribución PHP5. Recomendamos el uso de la versión de GD incluida en PHP5 y no instalarlo por separado.
  • Estar familiarizado y tener habilidades básicas en PHP.
  • Tener entendimiento de los conceptos de Objetos y de Programación Orientada a Objetos.
  • Entendimiento total de los conceptos básicos de clase, método, instancias de clase
ATENCIÓN

Se conoce de problemas generados al ejecutar la biblioteca en sistemas operativos de 64 bits por lo cual esta biblioteca no es oficialmente compatible con dichos sistemas

Instalación

¡¡¡ADVERTENCIA!!!

La guía de instalación para la librería esta orientada para uso en conjunto con WAMP en lo referente a servidor local o de pruebas, también se incluirá datos para usar la librería en entorno de Hosting.
Para el caso de Servidor de pruebas WAMP supondremos que el mismo esta instalado en el Disco C:\ y por tanto la ruta de acceso es

C:\WAMP\

y el root del localhost se ubica en

C:\WAMP\WWW\

asi mismo el interprete PHP se ubica en

C:\WAMP\BIN\PHP\PHP5.3.0 (para la última version de WAMP)

  • Descargue la librería JpGraph versión gratuita.
  • Dado que el archivo es un .tar.gz deberá descomprimirla primero, para aquellos poco familiarizados con este formato utilicen una versión reciente de WinRAR para descomprimirlo. Se generará un directorio jpgraph-3.x (x es el número de subversión) dentro del mismo encontrará una carpeta con el nombre “src” copie el contenido de esta carpeta en el directorio de PHP
    C:\WAMP\BIN\PHP\PHP5.3.0\JPGRAPH\ (De ser necesario cree la subcarpeta “JPGRAPH”)
  • Verifique que la extensión GD este activada en su archivo php.ini (puede revisarlo con phpinfo() desde la pagina principal de su servidor WAMP)
  • OPCIONAL: Verifique dentro del archivo jpg-config.inc.php que las rutas especificadas corresponden con las de su servidor (en la mayoría de casos no deberá efectuar ningún cambio) Para la ruta de TTF recuerde que en vez de especificar C:\WINDOWS\FONTS deberá especificar C:\\WINDOWS\\FONTS esto debido a que la contra barra “\” sirve como carácter de escape en PHP.
  • OPCIONAL: Verifique si tiene memoria suficiente asi como tiempo de ejecución en su archivo php.ini. Es recomendable tener un mínimo de 32Mb (memory_limit = 32M) de memoria para PHP para gráficas básicas y un mínimo de tiempo de ejecución de 30 segundos (max_execution_time = 30) al menos.
  • Especifique dentro de php.ini la inclusión de la ruta del directorio que contiene a JpGraph (include_path=”C:\WAMP\BIN\PHP\PHP5.3.0\”)
  • En caso usar la librería en un servidor de paga o gratuito en el cual no tendrá acceso al archivo php.ini ni podrá grabar la librería en el directorio de PHP, copie los archivos especificados dentro de un directorio de nombre JPGRAPH y haga una llamada include_once o require_once (‘jpgraph/jpgraph.php’) en cada archivo en que requiera usar la librería.

Siguiendo estos pasos ya debería de ser capaz de generar gráficas dentro de sus proyectos utilizando la librería JpGraph, para comprobar esto, copie el archivo “C:\WAMP\BIN\PHP\PHP5.3.0\JPGRAPH\EXAMPLES\EXAMPLE0.PHP” dentro del root de sus servidor de prueba y ejecútelo desde cualquier navegador, deberá de observar el siguiente gráfico

Hasta aquí esta parte, la próxima entrega generaremos nuestro primer gráfico con JpGraph y veremos otras funcionalidades.

PHPico: librería PHP para trabajar con iconos

Publicado Por; jatgjose | Publicado en: PHP, Programación | Publicado el dia: 26-04-2010

0

PHPico es una librería PHP que nos permite crear y manipular iconos (formato .ICO), pudiendo leer y escribir archivos de iconos. Permite crear iconos vacíos, añadir imágenes de diferentes tamaños y bits, quitar imágenes de los iconos, indicar el color de los iconos, añadir definiciones de colores, …

require_once('PHPico.php');
$i = new PHPicoImage();
$i->createBlankImage(8, 8, 8);
$i->addColor(0, 3, 255, 0, 0, 0);
$i->addColor(0, 2, 0, 255, 0, 0);
$i->addColor(0, 1, 0, 0, 255, 0);
$i->setPixel(0, 0, 0, 3, 0);
$i->setPixel(0, 1, 1, 2, 0);
$i->setPixel(0, 2, 2, 1, 0);
$i->setPixel(0, 3, 3, 3, 0);
$i->save('F', 'test.ico');

PHPico