Los Teatinos

Consultoría y Formación

Quitar meta name="generator" content="Joomla! - Open Source Content Management

Un fallo de seguridad que nos podremos encontrar en nuestra web joomla es dejar visible en el código, la etiqueta meta name generator puesto que deja visible la versión de joomla que estamos usando. Con este dato los jackers, ya tienen una pista fácil por donde comenzar su ataque.

Dependiendo de la versión que utilicemos en el content aparecerá una u otra cosa.

  • En la versión 2.5 aparece "Joomla! - Open Source Content Management"
  • En la versión 1.7 aparece"Joomla! 1.7 – Open Source Content Management"
  • En la versión 1.6 aparece"Joomla! 1.6 – Open Source Content Management"
  • En la versión 1.5 aparece"Joomla! 1.5 – Open Source Content Management"

 

A continuación les expongo 5 posibles soluciones:

 1. Localizar el fichero "head.php" ubicado en:

 /libraries/joomla/document/html/renderer/head.php

 Y comentar la línea (para comentar poner //)

$strHtml .= $tab.'<meta name="generator" content="'.$document->getGenerator().'"/>'.$lnEnd;

 Esta solución no es muy idónea, ya que el sistema está diseñado para utilizar esa función,

y si hacemos eso, al llamar a esa meta tag no la encuentra y se genera un error, y se convierte en una imperfección al validarlo como xhtml.

A continuación les expongo otra mejor solución.

 

2. Buscamos el archivo llamado “document.php” que se encuentra en:

 libraries/joomla/document/document.php

 Buscamos la linea:

 var $_generator = ‘Joomla! – Open Source Content Management’;

 Cambiamos el “Joomla!- Open Source Content Management” por el nombre que queramos.

 

3. Las soluciónes anteriores son poco profesionales, ya que están tocando el core de joomla, la mejor solución sería hacer un plugin de sistema (system plugin) y añadir lo siguiente:

[code]

function onBeforeCompileHead() {

global $mainframe;

$document =& JFactory::getDocument();

if ($mainframe->isAdmin() || $document->getType() != 'html') return;

$plugin =& JPluginHelper::getPlugin('system', 'seo');

$pluginParams = new JParameter( $plugin->params );

// Check to see if this is the Generator feature is enabled

if ( $pluginParams->def('override_generator', 0) )

$this->_generator = $pluginParams->def('generator', null);

// Set data:

if (isset($this->_generator))

$document->setGenerator($this->_generator);

}

[/code]

 

4. En lugar de crear ustedes el plugin, pueden usar el plugin "byebyegenerator"y así de esta manera no tocar nada de código, os paso el enlace donde lo podéis descargar.

 

Descargar -- http://extensions.joomla.org/extensions/site-management/seo-a-metadata/generator-tag/12556

Esta solución es bastante buena para usuarios inexpertos, ya que nos olvidamos de tocar código.

5. Buscar el fichero index.php de la plantilla que estemos utilizando en nuestro frontend e insertarle el siguiente código.

$this->setGenerator(null);

Con estas 5 soluciones se resuelve el problema. Espero haberles ayudado.

 

Comenta si te ha gustado mi artículo, me ayuda a mejorar.

Comentarios  

 
+1 # pepe 14-02-2013 17:59
Buen post
Responder | Responder con una citación | Citar
 
 
0 # luis 08-08-2013 06:33
muchas gracias, creo que lo importante no es modificar el core, me ha servido de mucho este post :lol: :lol: :lol:
Responder | Responder con una citación | Citar
 
 
0 # jon 06-09-2013 16:32
excelente explicacion
Responder | Responder con una citación | Citar
 
 
0 # carlos 30-12-2014 13:15
Exelente!!!!! muy buena forma explicar un tema...felicita ciones y gracias!
Responder | Responder con una citación | Citar
 

Escribir un comentario

Código de seguridad
Refescar