pon css en tu vida!

css, html, javascript, php y mucho mas…

Posts etiquetados con ‘ PHP ’

Seguridad en Zend Framework

27.07.09 PHP, Zend Framework Sin comentarios, aún...

Últimamente, he estado poniéndome al día en todo lo que se refiere a la seguridad a la hora de programar una aplicación web. Temas como el session fixation, SQL injection, etc…

En programania, Luis Artola ha publicado el enlace a una presentación de Stefan Esser acerca de la seguridad en Zend Framework que corresponde a la presentación que ofreció en la Dutch PHP Conference el pasado mes de Junio.

Muy interesante para todos los que andamos tocando Zend Framework, pues se tratan temas importantes como son:

  • XSS
  • CSRF
  • Seguridad en consultas SQL
  • Validación y filtrado de las entradas
  • Manejo de las sesiones

No entra en profundidad en ningún tema (al menos en las diapositivas), pero puede ser un buen punto de partida.

Descargar presentación: Secure Programming With The Zend Framework [PDF]

Vía | programania.net

Hace un par de días, encontré esta comparativa entre tres de los sistemas que podemos utilizar en PHP para cachear grandes arrays de datos , comprimiendolos y almacenándolos en archivos.

Es este artículo, se utilizan 3 métodos distintos:

La prueba para obtener a un ganador entre estos tres métodos fué la siguente:

Se utilizaron 5 conjuntos de datos, con diferentes tamaños (de memoria utilizada): 904B, ~18kB, ~250kB, ~4.5MB and ~72.5MB.

A estos conjuntos se los sometió a 10 codificaciones/decodificaciones, calculando el tamaño del archivo generado, y el tiempo tardado en relaizar cada operación.

optimizacion-big-array

Click para ampliar

Los resultados son bastante reveladores:

  1. El método con mayor ratio de compresión es JSON.
  2. Hasta que no lidiamos con cantidades “ingentes” de datos ( más de 30Mb), los mejores resultados se obtienen con serialize/unserialize.
  3. A partir de los 30Mb, el rendimiento de serialize/unserialize disminuye casi exponencialmente.
  4. A partir de los 30Mb, JSON se convierte en el método más eficaz.

Más información sobre cómo y dónde se realizó la comparativa, así como más gráficas, en el artículo original: Cache a large array JSON serialize or var_export

Google te ayuda a optimizar tu código PHP.

26.06.09 PHP, google, optimización Sin comentarios, aún...

ACTUALIZADO.

En Baluart.net encontramos una recopilación de las correcciones que la comunidad de usuarios de PHP ha hecho al artículo publicado por Google que se comenta en esta entrada.

Es importante que leas el artículo, pues rebaten muchas de las afirmaciones con códigos de ejemplo y tiempos de ejecución. Así, sabrás realmente a qué acogerte a la hora de programar.

Es curioso saber que los programadores de Google también se equivocan :)

Si hace un par de días comentabamos unos consejos para optimizar javascript, hoy le toca el turno a PHP.

De la mano de Google y su nueva sección Let’s make the web faster, encontramos PHP performance tips, una recopilación de consejos para programadores de PHP que nos ayudarán a mantener nuestros sitios más rápidos y optimizados.

Veamos algunos de los consejos que Eric Higgins, Webmaster de Google, nos ofrece:

Mantén actualizada tu versión de PHP.

¿Aún sigues utilizando PHP4? Las nuevas versiones de PHP están optimizadas para mejorar su rendimiento, por lo que deberías, al menos, dar el salto a PHP5. Hoy en día la mayoría de servicios de hosting ya ofrecen servidores con PHP5 instalado, para que puedas migrar tus páginas sin miedos.

Utiliza la caché en tus sitios.

Utilizando un modulo para cachear los resultados como Memcache, o mediante un sistema de templates que lo soporte, como Smarty, podemos mejorar la velocidad de nuestras páginas cacheando los resultados de las consultas a la base de datos, o las páginas renderizadas.

Utiliza el buffer de salida.

PHP utiliza un buffer de salida para almacenar toda la información que tratamos de imprimir desde nuestros scripts. Este buffer puede disminuir el rendimiento de nuestras páginas, ya que no muestra la información al usuario hasta que no se llena.

Afortunadamente, podemos modificar el comportamiento del buffer para que muestre los datos más frecuentemente.

Más info sobre el buffer de salida de PHP.

Usa comillas simples para los strings.

A la hora de delimitar un string, PHP permite hacerlo de dos formas diferentes; utilizando ‘comillas simples’ o “comillas dobles”. Sin embargo, existen diferencias entre ambos métodos. Si utilizamos comillas dobles, PHP buscará variables dentro de la cadena, y si las encuentra, insertará su valor correspondiente. Esto puede significar una bajada de rendimiento, sobre todo si utilizamos strings sin variables dentro.

Sustituye los print por echo.

El rendimiento de la función echo es mayor que el de print. Además, la función echo puede recibir un número ilimitado de parámetros, por lo que no es necesario concatenar el string que le pasamos a la función. Es decir:

$uno = 1;
$dos = 2;
$tres = 3;
// Típica concatenación para utilizar con echo
echo 'Vamos a contar hasta tres: ' . $uno . ' ' . $dos . ' y ' . $tres;

// Sin embargo, no necesitamos concatenar la cadena
// antes de pasarla a echo, puesto que esta función
// puede recibir el número de parámetros que
// deseemos
echo 'Vamos a contar hasta tres: ', $uno, ' ', $dos, ' y ', $tres;

// Y el resultado, en ambos casos será el mismo:
// "Vamos a contar hasta tres: 1 2 y 3"

En el ejemplo anterior el resultado es exactamente el mismo, y sin embargo evitamos la carga de tener que concatenar el string antes de pasar la cadena al buffer de salida.

Leer el artículo completo en Google Code.