Archivo de la etiqueta: apache

Ocultar versión de apache

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.

version-apache011

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.

version-apache02

Configurar codificación UTF-8 en apache+mysql+php

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.