Completisimo Curso de aprendizaje de Mantenimiento, seguridad & Optimización de un Portal Web basado en Lenguaje PHP. Excelente contenido , material ideal para todos aquellos Webmaster que programan sus webs en este magnifico lenguaje!!
Consta de dos partes bien diferenciadas. La primera -teórica- describe el estado del arte de la seguridad en aplicaciones web así como conceptos generales de seguridad informática. Se incluyen también algunas referencias y breves descripciones de herramientas útiles para la auditoría de aplicaciones web, además de una guía de administración para la creación de un entorno seguro bajo Apache, PHP y MySQL. La segunda parte -práctica- consiste en auditar el código de dos portales web de características similares, depurarlo, proponer mejoras funcionales, y posteriormente implementarlas. Como parte del desarrollo, se han escrito y experimentado con rutinas de protección genérica contra “injecting”, para PHP. Continuar leyendo «Manual de seguridad, optimización de Apache, PHP y MySQL»
Instalar Zend Optimizer 3.2.8 en CentOS 5 32bits y 64bits
A continuación os dejo aqui los pasos a seguir para instalar y configurar Centos 5 32 bit.
cd /usr/local/src
wget http://downloads.zend.com/optimizer/3.2.8/ZendOptimizer-3.2.8-linux-glibc21-i386.tar.gz
tar -zxvf ZendOptimizer-3.2.8-linux-glibc21-i386.tar.gz
cd ZendOptimizer-3.2.8-linux-glibc21-i386
./install
Y aqui os dejo aqui los pasos a seguir para instalar y configurar Centos 5 64bit.
cd /usr/local/src
wget http://downloads.zend.com/optimizer/3.2.8/ZendOptimizer-3.2.8-linux-glibc23-x86_64.tar.gz
tar -zxvf ZendOptimizer-*.tar.gz
cd ZendOptimizer-*
./install.sh
Solamente he tenido la oportunidad de hacer la instación en Centos 5 64bit con el servidor corriendo con Plesk 9.0.1 y no he tenido ningún problema, es sumamente fácil y sencillo y para toda la familia 😀
Para comprobar que teneis activo el módulo de php Zend optimizer debereis tipear:
php -v
Si lo teneis activo os saldra algo parecido a esto:
PHP 5.2.8 (cli) (built: Jan 5 2009 16:59:12)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with Zend Extension Manager v1.2.0, Copyright (c) 2003-2006, by Zend Technologies
with Zend Optimizer v3.2.8, Copyright (c) 1998-2007, by Zend Technologies
Si teneis alguna duda decirlo ehhhh¡¡¡¡¡¡ un saludoooo sysadmins¡¡¡¡¡¡
Conocer la seguridad del PHP de nuestro servidor con PHPSecInfo
PHPSecInfo es una aplicación muy similar a la funcionalidad de phpinfo() pero en lo relativo ala seguridad del PHP de nuestro servidor
PHPSecInfo lo podeis descargar en este enlace, un saludo amigos 😀
Optimizar PHP : Instalar Zend Optimizer + Suhosin + XCache
A la hora de ejecutar PHP de forma eficiente, nos toca aprender un par de cosas sobre cachés, desactivar logs, etc. de igual forma que Apache. En este artículo describo directamente como cambiar algunas cuestiones de configuración, instalar XCaché, Zend Optimizer y Suhosin para que se ejecuten con PHP. Recomiendo tomarse un tiempo con cada tema para investigarlo bien y comprenderlo.
La configuración
En un servidor en producción, convienen los siguientes cambios en la configuración de php.ini:
Nos aseguramos que no desvelamos la versión de PHP:
expose_php = Off
Aumentar el límite de memoria si sabemos que algún script puede necesitarla:
memory_limit = 64M
Nos aseguramos de no mostrar ningún tipo de error si algo falla (para evitar desvelar paths y otra información que pudiera ser sensible)
display_errors = Off
Y si queremos ganar algo de velocidad, no es mala idea desactivar el logging de errores también. Se supone que el servidor en producción no es para debugging:
Continuar leyendo «Optimizar PHP : Instalar Zend Optimizer + Suhosin + XCache»
Saber que locale están instalados en el servidor con PHP
Si intentamos mostrar una fecha en PHP es posible que nos encontremos que salga con el formato:
July 31, 2007
Para que se muestre correctamente debemos usar el “locale” correcto que haga que se muestre la fecha en el formato adecuado. Los locales más habituales son del estilo de éstos:
es_ES es_ES.ISO_8859-1
Para establecer un locale se usa la siguiente función:
@setlocale(LC_TIME, 'es_ES');
El problema es que hay que hay que poner el nombre exacto del locale ya que de otra forma no funcionará. Aquí tenéis un sencillo script en PHP que te ayudará a saber qué locales están instalados en tu servidor:
<?php echo "<hr><br>'Locale' disponibles:<br>"; echo '<pre>'; system('locale -a'); echo '‘; ?>
Si quieres que se muestren sólo los españoles:
<?php echo "<hr><br>'Locale' disponibles:<br>"; echo '<pre>'; system('locale -a | grep -i es'); echo '‘; ?>