Joomla Generator Tag entfernen
Der Joomla! Core Code liefert im Header automatisch einen Meta-Tag der anzeigt mit welchem System die Webseite erstellt wurde.
Ist dieser Meta-Tag wirklich sinnvoll? Einen großen Nachteil hat er auf alle Fälle.
Der Meta-Tag schaut so aus:
Bei Joomla! 1.7:
<meta name="generator" content="Joomla! 1.7 - Open Source Content Management" />
Bei Joomla! 1.6:
<meta name="generator" content="Joomla! 1.6 - Open Source Content Management" />
Bei Joomla! 1.5:
<meta name="generator" content="Joomla! 1.5 - Open Source Content Management" />
Grundsätzlich ist es eine gute Idee der Entwickler, aber es hat auch entscheidende Nachteile.
der große Nachteil
Hacker oder automatische Suchrobots können das verwendete System sehr leicht erkennen. Dadurch lassen sich dann auch die Schwachstellen bzw. die Sicherheitslücken des Systems leichter finden. Was das bedeutet brauche ich nicht weiter erklären.
Abhilfe
Um die Erkennung des verwendeten Systems den Hackern etwas zu erschweren, löschen wir einfach den Inhalt dieses Meta-Tags. Ein einfacher Code den wir in die index.php des verwendeten Templates bauen genügt.
Im Internet kursieren auch Lösungen die Änderungen in den Code Daten verlangen. Das ist nicht notwendig und nicht empfehlenswert. Bei jedem Joomla! Update wären diese Änderungen veloren.
Folgende Lösung bleibt auch nach einem Joomla! Update erhalten.
Schreibe einfach in die index.php deines verwendeten Templates ganz oben oder in den header folgenden Code rein:
<?php // Generator leeren $this->setGenerator(null); ?>
Hacker verwirren
Einen kleinen Schritt weiter geht die folgende Lösung. Schau mal hier:
<?php // Generator leeren $this->setGenerator('WordPress 3.0.5'); ?>
Jetzt wird die Meta-Tag Ausgabe nicht geleert, sondern auf "Typo3" geändert.
<meta name="generator" content="meta name="generator" content="WordPress 3.0.5" /" />
Weitere Informationen
- Doku zu "setMetaData" auf docs.joomla.org
Kommentare (2)
ley woo long
Problem ist halt wenn ich mehrere Templates habe muss ich diesen Meta Tag überall einbinden.
Einfacher gehts wenn man in der:
\libraries\joomla\document\html\renderer\head.php
ungefähr bei Zeile 100 folgendes auskommentiert:
// Don't add empty generators
/*$generator = $document->getGenerator();
if ($generator)
{
$buffer .= $tab . '' . $lnEnd;
}*/
Günther Hörandl
Ich habe es jetzt nicht kontrolliert, du könntest aber recht haben.
ABER einen großen Nachteil hat deine Variante:
Wenn du ein Joomla Update machst, und zufällig deine geänderte head.php wird erneuert, sind alle deine Modifikationen weg und du musst wieder alles von vorne machen.
Ich kann daher nur davon abreaten in den Core Dateien herum zu handieren.