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.