WordPress Metainformationen entfernen

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.




ein wenig Update bitte

Wie der geneigte Leser gemerkt hat, hat sich wieder einmal einiges verändert auf unserer Webseite. Zum einen habe ich auf WordPress 2.7 geupdated, zum anderen verwende ich ein neues Theme.

Nicht, dass mir das alte nicht gefallen hätte, aber Cablecom hat es geschafft, meinen Uploadstream von 1500 auf ~600 Kbit/s zu kastrieren. Hierzu aber zu einem anderen Zeitpunkt mehr.

Jedenfalls erhoffe ich mir durch dieses weniger grafikintensive Theme eine schnellere Ladezeit. Mal sehen 😉




Neues Template lässt auf sich warten

Wie ich erst küzlich beschrieben hatte, wurde die gesamte Webseite einem Upgrade unterzogen. Dabei habe ich auch feststellen müssen, dass das bisherige Template nicht mehr richtig funktioniert (zumindest mit Internet Explorer und Opera).

Aus diesem Grund wollte ich eigentlich ein neues Template erstellen, aber das dauert etwas länger als erwartet. Daher wird die geneigte Leserschaft vorerst mit einem 0815 Template beglückt, welches wohl mindestens auf 100 anderen WordPress Seiten zum einsatz kommt.

Aber besser als das öde default Blau von WordPress ist es allemal 😉




FLV Embed – Multimedia Button Erweiterung

Wordpress Multimedia Button

Zum darstellen von Videos (wie etwa im Jack Keane Artikel) ist das WordPress Plugin FLV Embed ideal geeignet. Schade daran ist nur, dass dieses Plugin die Multimedia Schaltfläche nicht aktiv unterstützt. Will heissen, wenn man via Multimedia Button einen Flash Film einbinden will, dann kann man den Film zwar aus der Galerie auswählen, die nötigen Tags wie [flv :<Dateiname> breite hoehe] muss man jedoch immer noch selber darum herum schreiben.

Das was mir persönlich etwas lästig. Aus diesem Grund habe ich das Plugin so erweitert, dass bei einem Flash Film ein Button erscheint, welcher zum einen automatisch ein [flv : etc. darum herum packt, und zum anderen einfach einen Standard Wert von 320×240 Pixeln wählt.

Nachfolgend die Beschreibung, was man selber verändern muss.

  1. Im Adminbereich klickt man auf Plugins / Plugins bearbeiten.
  2. Unter Plugin-Dateien wählt man FLV Embed an.
  3. Im nun erscheinenden Source Code Fenster sucht man die Zeile //////////////////// parse content functions, und fügt darunter folgenden Code ein (alternativ ab WP 2.7.1 FLV_EMBED 1.2.1 folgenden Code und ab WP 2.9.x FLV_EMBED 1.2.1 folgenden Code) ein.
  4. Wählt man nun ein Flash Video aus, wird ein Button Namens FLV Player dargestellt. Klickt man darauf, wird das flv darum gebaut und bei Einfügen in den Artiekl sogleich der gesamte String in den Artikel übertragen. Je nach Gusto kann man dann noch die default Grösse verändern.

So einfach kann das sein 😉




Es hat sich was getan bei Eggers Familien-Blog.

Gestern war die Webseite mehrheitlich den ganzen Tag über nicht erreichbar. Der Grund dafür ist einfach.

Upgrade

Es war an der Zeit mal wieder alles upzudaten. Da war zum einen die Chroot Umgebung, welche unbedingt eines updates bedurfte (neue Versionen von Apache, Mysql und PHP) aber auch WordPress selber ist von 2.2.3 auf 2.6.2 erneuert worden.

Die chroot Umgebung war im Nachinein noch die simpelste Angelegenheit. Mit Gentoo ist es relativ einfach die unterschiedlichen Server nur mit den Komponenten zu kompilieren, welche auf wirklich benötigt werden. Und auch das stracen der Anwendungen, zwecks herausfindung der benötigten Libraries und Files war im Gegensatz zum letzten mal ein Kinderspiel.

Aber der Umstieg von WordPress 2.2.3 auf 2.6.2 machte mir doch etwas Angst.

Nicht nur, wegen der Tabellenstruktur von WordPress, welche sich sicherlich geändert hatte, nein auch das Updaten der Plugins machte mir Sorgen. Zumal ich diverse Scripts und Files von WordPress manuel «hacken» musste, damit überhaupt alles funktionierte wie ich es mir vorgestellt hatte.

Im Nachhinein hat sich der Umstieg jedoch gelohnt. Nicht nur, dass sich mittlerweile die Plugins von alleine meine Hacks angeeignet haben 😉 (oder besser gesagt, andere hatten auch einen Bedarf danach) auch die Handhabung ist doch wesentlich konfortabler geworden.

z.B. muss ich nun keine Videos und Lieder händisch via ssh hochladen, sondern kann einfach die Upload Funktionalität von WordPress nutzen. Aber auch der Editor ist nun eher das, was ich mir unter einem WYSIWYG Editor vorstelle.

Kurz: Das Update ist geglückt. 🙂

Was jetzt noch folgt ist die Umstellung des Designs. Neue Farben, neue Photos und eine grössere Auflösung soll das kommende Design beinhalten. Man darf gespannt sein 😉




WordPress 2.2.3 update

WordPress Version 2.2.3 ist erschienen und enthält gegenüber der Version 2.2.2 ein geschlossenes Sicherheitsloch, sieben Bug fixes und eine neue Erweiterung.

Bei der Sicherheitslücke handelt es sich um eine nicht korrekt funktionierende Filterung von html Code. Dadurch könnten Angreifer jegliche Art von HTML einschleusen.

WordPress empfiehlt den Update vorzunehmen (ich übrigens auch :mrgreen: )




WordPress 2.2.1 Update

Ich habe WordPress soeben auf Version 2.2.1 geupdated. Nebst der Behebung diverser kleiner Schönheitsfehler welche einen Update nicht unbedingt gerechtfertigt hätten, sind mit diesem Update jedoch auch einige Sicherheitsrelevante Bugs behoben worden.

  • Remote shell injection in PHPMailer – WordPress verwendet für den Mailversand die frei verfügbare Klasse PHPMailer. Im Gegensatz zur Standard Funktion mail() besitzt diese Klasse unter anderem die Fähigkeit HTML Mails oder Attachments zu versenden. PHPMailer wird von unterschiedlichen Projekten wie etwa WordPress, Mantis, WebCalendar, Group-Office oder Joomla verwendet und hat letztmals im Juli 2005 einen Update erfahren. In PHPMailer wurde nun ein Fehler gefunden, welcher es einem Angreifer ermöglicht auf dem Rechner, auf welchem das Programm läuft, Befehle auszuführen. Der Fehler basiert auf einer ungenügenden Eingabevalidierung.
  • Remote SQL injection in XML-RPC – Eine SQL-Injection Lücke in WordPress ermöglicht einem Angreifer den Zugriff auf die zugrunde liegende Datenbank. Dadurch wird es möglich eigene Befehle an die Datenbank zu senden um diese z.B. zu löschen oder manipulieren.
  • Unescaped attribute in default theme – Eine Cross-Site Scripting Lücke im Standard Thema von WordPress kann von einem Angreifer unter Umständen zum ausspähen von vertraulichen Daten missbraucht werden. Alle Themes (auch selbst gemachte) welche auf Kubrick basieren sind gefärdet. Nachfolgender Link zeigt auf, wie man die Lücke im eigenen Theme schliesst.

Das Deutsche WordPress Team hat bereits einen Update hochgeladen.