lunes, 10 de noviembre de 2014

Formateando language icons en horizontal

El bloque language icons en Drupal viene por defecto con un formato de lista vertical con se puede ver aquí:
 

Si queremos modificar este formato podemos jugar con las CSS del módulo locale. En concreto iriamos al fichero:
modules/locale/locale.css

En este fichero podemos encontrar diferentes clases CSS que podemos modificar para cambiar el aspecto del listado de idiomas. En nuestro caso lo que queremos es que aparezcan en horizontal, para ello insertamos este código en el fichero:

#block-locale-language ul li
{
display: inline;
list-style: none;
}

Lo que convierte el listado de idiomas en algo tal que así:



Como se puede ver hemos quitado las viñetas y formateado la lista horizontalmente.




lunes, 3 de noviembre de 2014

Solucionando problema de seguridad de inyección de SQL en drupal 7

En primer lugar hay que decir que este fallo de seguridad afecta únicamente a las instalaciones de Drupal 7, por lo que no debemos perder tiempo actualizando versiones menores que la 7. 
Es necesario actualizar lo antes posible debido a que numerosos bot podrán acceder a tu servidor de forma automática y explotar el bug. Aunque hayas conocido un poco tarde la existencia del bug has de actualizar cuanto antes pues, como dice el dicho, más vale tarde que nunca.
Básicamente la solución al bug es actualizar el Drupal Core a su versión 7.32 y en algunos casos hacer una pequeña modificación en el archivo .htdocs de /sites/default/files.
En este diagrama podemos ver las decisiones a tomar en cada caso.

Descripción del fallo de seguridad altamente crítico

Descarga de Drupal Core 7.32

Modificación de .htdocs del directorio files

  • No se debe cambiar el .htdocs de la raíz de drupal solo el de /sites/default/files
  • La pagina de "Informe de Estado" de Drupal nos avisará de la necesidad de hacer este cambio.
  • El código a incluir es:
# Turn off all options we don't need.
Options None
Options +FollowSymLinks

# Set the catch-all handler to prevent scripts from being executed.
SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006

  # Override the handler again if we're run later in the evaluation list.
  SetHandler Drupal_Security_Do_Not_Remove_See_SA_2013_003


# If we know how to do it safely, disable the PHP engine entirely.
<IfModule mod_php5.c>
  php_flag engine off
</IfModule>

Acciones tras aplicar la solución

Tras aplicar estos cambios podemos estar seguros de que a partir de ese momento no somos vulnerables a los robots que intenten explotar la vulnerabilidad de inyección de SQL en nuestro servidor. De lo que no podemos estar seguros es de que anteriormente el servidor no haya sido comprometido.
En la siguiente página tenemos un listado de diferentes problemas que se han encontrado en servidores que ya han sido atacados, lo que nos puede ayudar a detectar problemas similares en nuestro servidor.
Espero que esta recopilación de información para solucionar el problema os sea de ayuda.