WordPress

WordPress, Joomla! und die Sicherheit

19. Mai 2017 · Anwendungen · andreas · Kein Kommentar

Erinnert sich noch jemand an die “Fairy Ultra”-Werbung mit Villarriba und Villabajo?

Zwei fiktive spanische Dörfer, die jeweils nach einer großen Party ihre Pfannen schrubben. Und während die Bewohner von Villabajo (mit herkömmlichem Spülmittel) noch tapfer vor sich hin putzen, wird in Villarriba (die Fairy Ultra nehmen) schon wieder gefeiert.

Der Vergleich hinkt zwar, aber trotzem spiegelt das die Situation der beiden oben genannten Content Management Systeme irgendwie wider:

Am 12. Mai veröffentlichte das Joomla!-Team eine Sicherheitsankündigung mit dem Hinweis, Joomla!-Installationen mit erscheinen des nächsten Updates am 17.05.2017 um 16 Uhr möglichst direkt zu aktualiseren.

Mit der Veröffentlichung von Joomla! 3.7.1 wird u.a. eine kritische Sicherheitslücke geschlossen. Das Update erscheint voraussichtlich am 17.05.2017 um 16 Uhr.

Das Joomla Sicherheits-Team (JSST) wurde über eine kritische Sicherheitslücke im Joomla! Core informiert. Da dies eine sehr wichtiger Sicherheitspatch ist, bereitet euch bitte darauf vor, eure Joomla Seiten nächsten Mittwoch zu aktualisieren.

Solch ein Hinweis ist richtig und wichtig, doch in einer globalen Welt ist es nicht überall zum gleichen Zeitpunkt 16 Uhr. Und während die einen in der Nachtruhe schlummern, sind andere unterwegs fernab jedes PCs und der Patch - mit dessen Erscheinen auch die kritische Sicherheitslücke selbst bekannt wird - wird nur auf einem Bruchteil der Systeme zeitnah (also innerhalb weniger Minuten) eingespielt werden können. Es beginnt ein Wettrennen - auf der einen Seite finstere Gestalten, die möglichst schnell die Sicherheitslücke auszunutzen wollen und auf der anderen Seite Admins, die versuchen, die von Ihnen betreuten Systeme zeitnah zu aktualisieren.

Ganz anders dagegen in der WordPress-Welt, seit mit Version 3.7 automatische Hintergrund-Updates eingeführt wurden: während der Administrator dieser Seiten in der Nacht vom 16. auf den 17. Mai vor sich hinschlummerte, hat sich WordPress automatisch auf die Version 4.7.5 aktualisiert und anschließend per E-Mail darüber informiert.

Sicherlich sind automatische Updates kein Allheilmittel und bergen die Gefahr, dass eine Aktualisierung nicht reibungslos verläuft und die Funktionalität einer Website beeinträchtigt wird. Vorbehalte gegen solche Automatismen gibt es - besonders bei denjenigen, die sie nicht verwenden - viele und viele Unternehmen haben bei der aktuell durch die Welt schwappenden Erpressungstrojaner-Welle mal wieder gezeigt, wie wenig hilfreich es ist, monatelang auf Systemaktualisierungen zu verzichten.

Betrachtet man die Zahl an Websites von Privatleuten, klein(er)en Unternehmen und Vereinen, deren Komplexität durchaus überschaubar ist und deren Admin meist nach dem “Du machst doch irgendwas mit Computer, kannst Du nicht mal …” ausgewählt wurde, scheinen automatische Updates eine sinnvolle Möglichkeit, ohne allzu hohes Ausfallrisiko die Sicherheit für den Betreiber und auch Dritte (sowohl Besucher der Website als auch andere Kunden in shared Hosting Umgebungen) deutlich zu erhöhen.

Wer sich für viel Geld eine hochkomplexe Webpräsenz erstellen lässt, der ist seinem dedizierten Admin hoffentlich für eine Rechnung mit Nachtzuschlag dankbar, weil dieser im Bedarfsfall um 2 Uhr Nachts lieber geschrubbt statt gefeiert hat.


Medien zu einem anderen WordPress-Beitrag verschieben

27. März 2017 · Anwendungen · andreas · Kein Kommentar

WordPress bietet standardmäßig keine Möglichkeit, einmal hinzugefügte Medien zu einem anderen Beitrag oder Seite zu verschieben und dort anzuhängen. Gerade für einmalig durchzuführende Aufräum- oder Umbauarbeiten macht es wenig Sinn, sich auf die Suche nach einem Plugin zu begeben, da die Aufgabe auch mit einem einzigen SQL-Statements zu erledigen ist.

Zu beachten ist, daß hierbei lediglich die Zuordnung zwischen Medien-Datei und Beitrag geändert wird, am Inhalt der Beiträge ändert sich nichts. Die so verschobenen Medien können allerdings anschließend über den “Zu diesem Beitrag hochgeladen”-Filter deutlich einfacher aufgefunden und verwaltet werden.

Zunächt müssen die IDs der beiden Beiträge ermittelt werden, zwischen denen verschoben werden soll. Wer das nicht direkt in der Datenbank erledigen will, kann auch die WordPress-Oberfläche zu Rate ziehen: einfach beim jeweiligen Artikel auf “Bearbeiten” klicken und die ID aus der URL entnehmen, z.B. “/wp-admin/post.php?post=3527&action=edit”.

Dann können die Medien verschoben werden:

UPDATE wp_posts SET post_parent = <neue_ID> WHERE post_parent = <alte_ID> AND post_type='attachment';

Texte in der WordPress-Kommentar-Moderationsansicht kürzen

21. März 2017 · Anwendungen · andreas · Kein Kommentar

Eine automatische Filterung von Kommentaren nach SPAM ist fast unerlässlich, doch leider muss die Liste der als SPAM eingestuften Kommentare von Zeit zu Zeit auf versehentlich dort gelandete echte Kommentare durchsucht werden.

Besonders lästig sind hierbei Kommentare, welche sich durch Einfügen unzähliger Textblöcke über mehrere Bildschirmseiten erstrecken und das Überscrollen zu einer Belastungsprobe für Mausrad und Nerven ausarten lassen.

Einen extrem hilfreichen Code-Schnippsel gibt es im Beitrag “Spam-Kommentar-Ansicht: Texte kürzen” von Caspar Hübinger, welcher die Texte in der WordPress-Kommentar-Moderationsansicht auf maximal 42 Zeichen begrenzt und somit eine schnelle und effektive Kontrolle ermöglicht.


WordPress-Kommentare zu einem anderen Beitrag verschieben

14. Juli 2015 · Anwendungen · andreas · 2 Kommentare

WordPress bietet standardmäßig keine Möglichkeit, Kommentare zwischen verschiedenenen Beiträgen (und / oder Seiten) zu verschieben. Gerade für einmalig durchzuführende Aufräum- oder Umbauarbeiten macht es allerdings auch wenig Sinn, sich auf die Suche nach einem zuverlässigen und vertrauenswürdigem Plugin zu begeben, da die Aufgabe auch mit einigen wenigen SQL-Statements zu erledigen ist.

Zunächt müssen die IDs der beiden Beiträge ermittelt werden, zwischen denen verschoben werden soll. Wer das nicht direkt in der Datenbank erledigen will, kann auch die WordPress-Oberfläche zu Rate ziehen: einfach beim jeweiligen Artikel auf “Bearbeiten” klicken und die ID aus der URL entnehmen, z.B. “/wp-admin/post.php?post=3527&action=edit”.

Dann können die Kommentare verschoben werden:

UPDATE wp_comments SET comment_post_id = <neue_ID> WHERE comment_post_id = <alte_ID>;

Anschließend muß noch die Anzahl der zu einem Beitrag vorhandenen Kommentare korrigiert werden, was nach zwei weiteren SQL-Befehlen erledig ist:

UPDATE wp_posts SET comment_count = 0 WHERE ID = <alte_ID>;
UPDATE wp_posts SET comment_count = (SELECT COUNT(*) FROM wp_comments WHERE comment_post_ID = <neue_ID> AND comment_approved = 1) WHERE ID = <neue_ID>;

Nach der Verschiebung sind mit dem alten Beitrag keinerlei Kommentare mehr verknüpft, weshalb hier die Anzahl direkt auf “0” gesetzt werden kann. Für den neuen Beitrag ist die Anzahl der Kommentare zu ermitteln, wobei für die Spate “comment_count” nur die tatsächlich genehmigten Kommentare gezählt werden dürfen.


Pingbacks und Trackbacks global abschalten

27. Mai 2013 · Anwendungen · andreas · 4 Kommentare

Wird in WordPress der Haken bei “Erlaube Link-Benachrichtigungen von anderen Weblogs (Pingbacks und Trackbacks)” unter “Einstellungen” / “Diskussion” entfernt, so hat dies lediglich Auswirkung auf alle zukünftigen Beiträge. Die Einstellung für alle Beiträge, die zum Zeitpunkt des Umschaltens bereits fertiggestellt waren, wird hierdurch nicht geändert.

Abhilfe schaffen zwei SQL-Statements:

UPDATE wp_posts set ping_status='closed' WHERE post_status='publish' AND post_type='post';
UPDATE wp_posts set ping_status='closed' WHERE post_status='publish' AND post_type='page';