categoría: Seguridad informática | tags: apache, seguridad, servidor web | sin comentarios »
Si bien la segurdiad por seguridad por oscuridad debe tratarse como un añadido secundario a otros métodos más básicos, puede resultar una buena práctica para poner las cósas un poco más difíciles a un posible atacante.
Para ocultar la versión de un servidor web apache haremos lo siguiente:
Editamos el archivo de configuración de apache
vi /etc/apache2/apache2.conf
Modificamos las siguientes directivas ó en caso de no contar con ellas las añadiremos
ServerTokens ProductOnly
ServerSignature Off
Después de guardar los cambios en el archivo se debe reiniciar apache
/etc/init.d/apache2 restart
A continuación se incluyen dos capturas de pantalla del antes y el después de hacer este cambio.
Esta captura muestra la información que ofrece apache con su configuración por defecto. Facilita información tal como: sistema operativo, versión de apache y versión de PHP. Toda esta información es totalmente innecesaria en un servidor en producción.

La siguiente captura muestra la información facilitada tras realizar los camibios expuestos anteriormente. Tan sólo muestra que el servidor es “Apache” sin más detalles.

categoría: Desarrollo web | tags: apache, codificacion, cotejamiento, htaccess, html, mysql, php, utf8 | 8 comentarios »
A la hora de empezar un proyecto web, una de las primeras cosas a tener en cuenta debería ser la elección de la codificación de los documentos y datos. Hoy en día el estándar podría decirse que es UTF-8, la manera actuar para configurar correctamente nuestra codificación UTF-8 en nuestros proyectos php+mysql podría ser la siguiente:
1. Configuración de UTF-8 en apache
En caso de no contar con acceso a la configuración de apache, lo cual es común si usamos hosting de terceros, la codificación la definiremos en el archivo .htaccess del directorio raiz de nuestra web. Añadimos la siguiente línea en el archivo .htaccess:
AddDefaultCharset utf-8
2. Configuración de UTF-8 en mysql
En phpmyadmin deberemos configurar nuestras tablas con cotejamiento utf8_spanish_ci.
3. Configuración de UTF-8 en consultas a mysql desde php
Después de hacer el “mysql_select_db” añadir la siguiente función:
mysql_query("SET NAMES 'utf8'");
4. Configuración de UTF-8 en html
En el head añadimos lo siguiente:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5. Configuración de UTF-8 en nuestro editor de texto
Por último y no por ello menos importante, debemos configurar adecuadamente el editor que usemos para escribir nuestro código.