WordPress produziert eine Menge an Quellcode (Firefox/Opera: CTRL-U, IEX: Ansicht / Quelle) um einen Blog wie diesen darstellen zu können. Das meiste davon wird natürlich benötigt, damit die Webseite schön Fancy im Web 2.0 daherkommen kann. Es gibt aber auch Informationen im Quelltext die man vielleicht gar nicht braucht oder die sogar Crackern in die Hände spielen.
Auf drei solcher Einträge gehe ich jetzt näher ein.
Really Simple Discovery Informationen
<link rel="EditURI" type="application/rsd+xml" title="RSD"
href="http://blog.matse.ch/xmlrpc.php?rsd" />
Hinter der RSD (Really Simple Discovery) Funktion versteckt sich ein XML Format und eine Veröffentlichungskonvention um z.B. Blogs via Client Programmen befüllen zu können. So gibt es z.B. Programme wie BlogDesk, welche es ermöglichen einen Beitrag für z.B. WordPress Offline, in einem Programm auf dem Computer zu erstellen und später zu veröffentlichen. Das Protokoll stammt aus dem Jahr 2002 als die Bandbreiten noch klein, Flatrates kaum und Web 2.0 noch unbekannt waren. Zu dieser Zeit mussten Blogeinträge noch mit HTML Code versehen werden und waren somit – für Laien – relativ unübersichtlich zu erstellen.
Heutzutage ist es jedoch mittels CSS und JavaScript möglich einen Webbasierten WYSIWYG (What you see is what you get) Editor zu verwenden, welcher ganz normalen Menschen das Erstellen von ansprechenden Artikeln ermöglicht. Und da die Geschwindigkeit und ständige Internetverbundenheit in den technisierten Regionen der Erde kaum mehr ein Problem darstellen, haben Programme mit RSD Unterstützung an Bedeutung verloren.
Wer also bisher nicht einmal von RSD wusste und auch in Zukunft keines dieser Programme verwenden will, kann diese Informationen in WordPress unterdrücken. Wie das geht erläutere ich weiter unten.
Windows Live Writer
< link rel="wlwmanifest" type="application/wlwmanifest+xml"
href="http://blog.matse.ch/wp-includes/wlwmanifest.xml" />
Windows Live Writer ist das selbe Konzept wie RSD, jedoch von Microsoft. Mittels der Software kann man ebenfalls seinen Blog Offline mit Inhalten befüllen.
Wer den Dienst bisher nie in Anspruch genommen hat und dies auch in naher Zukunft nicht vor hat, der kann diese Information ebenfalls unterdrücken.
WordPress Version
<meta name="generator" content="WordPress 1.2.3" />
Mittels dieser Metainformation kann man als Blogleser in Erfahrung bringen, mit welcher WordPress Version gearbeitet wird. Das ist im Normalfalls jedoch absolut irrelevant, da den Besucher nicht die Technologie hinter dem Blog sondern der Inhalt interessiert. Und die Besucher welche sich für die Version interessieren sind zu 95% unerwünschte Besucher. Denn als «pöser Bube» will ich wissen ob die WordPress Version veraltet ist und es hierzu offene Sicherheitslücken gibt. Und dank Google und Meta Tags, kann man hierzu einfach die Webseiten auflisten, welche mit der spezifischen Version laufen. Unterdrückt man diese Information muss ein potenzieller «pöser Bube» anderweitig Vorgehen um herauszufinden ob der Blog Verwundbar ist. Da heutzutage aber meistens eh nur – schlecht – automatisierte Engines nach genau solchen Informationen suchen kann es sogar passieren, dass man trotz veralteter Version und offenem Sicherheitsloch nicht angegriffen wird, weil die Engine schlicht keinen Anhaltspunkt dazu gefunden hat. Auch eine Art Cracker abzuwehren.
Unterdrücken der Informationen
Um nun einen oder allen der oben genannten Metainformationen zu unterdrücken, muss man die Datei functions.php in seinem WordPress Theme suchen und editieren. In einer normalen WordPress Installation befindet sich diese Datei normalerweise im WordPress Verzeichnis unter folgendem Pfad:
<Wordpress Verzeichnis>/wp-content/themes/<Themenname>/functions.php
Idealerweise fügt man direkt am Beginn der Datei (unterhalb von <?php) die ensprechenden Unterdrückungen ein.
/** Fuer Really Simple Discovery Unterdrueckung */
remove_action('wp_head', 'rsd_link');
/** Fuer Windows Live Writer Unterdrueckung */
remove_action('wp_head', 'wlwmanifest_link');
/** Fuer WordPress Versionsunterdrueckung */
remove_action('wp_head', 'wp_generator');
Lädt man seinen Blog danach neu, sind diese Informationen verschwunden. Leider muss man sich hierbei bewusst sein, dass bei einem Update des Themes die Einträge jeweils neu erstellt werden müssen, da die functions Datei dann erneut überschrieben wird. Da Themes jedoch selten Updates erfahren ist dieser Aufwand – meiner Meinung nach – vernachlässigbar.