SSL auf einer Seite mit iThemes Security reparieren

In einer Facebook-Gruppe hatten wir vor ein paar Wochen eine knifflige Frage, die gar nicht einfach zu Lösen war. Ein Mitglied hatte eine Seite auf HTTPS umgestellt. Nach der Migration wurden einige Bilder nicht mehr geladen. Zuerst haben wir die üblichen Fragen gestellt, etwa nach dem Suchen/Ersetzen der URL in der Datenbank. Das wurde aber alles korrekt getan und trotzdem wurden einige Bilder nicht angezeigt.

Falsche Domain im SSL Zertifikat

Ich habe mit die Seite als Besucher also mal näher eingesehen und dabei auch das Zertifikat geprüft. Dabei ist mir aufgefallen, dass es für die .com TLD ausgestellt war, einige Bilder aber über die .de TLD ausgeliefert wurden. Zuerst habe ich vermutet, dass einige Pfade im Theme statisch sind. Ich habe also darum gebeten, mit mal die Dateien functions.php und header.php zu schicken. Die sahen aber ganz normal aus und ich konnte auch keine statischen Pfade erkennen.

Die falsche Einstellung in der Konfiguration finden

Ich war nun etwas verwundert, wie es dazu kommen konnte, dass einige Dateien von der richtigen TLD ausgeliefert wurden, andere aber von der falschen. Aber dann kam mit eine Idee. Ich habe vorgeschlagen, mal in die wp-config.php zu sehen, ob es dort eine Konstante WP_CONTENT_URL gibt. Und tatsächlich, die Konstante war definiert und zeigte auf die falsche Domain. Die wp-config.php sah in etwa wie folgt aus:

<?php define( 'WP_CONTENT_DIR', '/var/www/example.com/my-content' ); // Nicht Entfernen. Das Entfernen dieser Zeile könnte deine Website zerstören. Hinzugefügt von Sicherheit > Einstellungen > Content-Verzeichnis ändern.
define( 'WP_CONTENT_URL', 'http://example.com/my-content' ); // Nicht Entfernen. Das Entfernen dieser Zeile könnte deine Website zerstören. Hinzugefügt von Sicherheit > Einstellungen > Content-Verzeichnis ändern.

// BEGIN iThemes Security - Do not modify or remove this line
// iThemes Security Config Details: 2
define( 'DISALLOW_FILE_EDIT', true ); // Disable File Editor - Security > Settings > WordPress Tweaks > File Editor
// END iThemes Security - Do not modify or remove this line

Nachdem ich diese Zeilen gelesen hatte wurde mir bewusst, dass auf der Seite das beliebte Security-Plugin iThemes Security installiert war, das tausende von Seiten verwenden. Die Problematische Einstellung findet man unter “Sicherheit > Einstellungen > Erweitert > Content-Verzeichnis ändern”. Wenn man hier den Ordner wp-content umbenennt, wird die wp-config.php entsprechend angepasst. Wenn man dann aber später auf SSL umstellt, wird diese Einstellung leider nicht auf die neue Website-URL geändert.

Den Fehler beheben

Das iThemes Security Plugin hat noch eine weitere Einstellung mit der Bezeichnung “SSL”. Wenn man diese aktiviert, wird zwar SSL für Frontend und Backend erzwungen, aber es werden dabei nur die beiden neuen Konstanten FORCE_SSL_LOGIN und FORCE_SSL_ADMIN zur wp-config.php hinzugefügt. Die Konstante WP_CONTENT_URL wird leider nicht aktualisiert. Man muss sie also manuell anpassen.

Fazit

Die Verwendung eines Sicherheits-Plugins ist nicht unbedingt eine schlechte Idee. Man muss sich aber bewusst sein, dass es manchmal gerade durch deren Benutzung zu Problemen kommen kann. Bei der hier erwähnten Einstellung wird auch in drei roten Boxen auf die möglichen Gefahren hingewiesen. Dennoch gibt es viele Anwender, die einfach blind den diversen Online-Tutorials zum Absichern von WordPress folgen. Sie aktivieren dabei auf Einstellungen, die sie für sinnvoll halten, deren Auswirkungen sie aber nicht kennen. Ich habe sogar Seiten gesehen, die gleichtzeitig zwei Sicherheits-Plugins einsetzten. Dass man bei solchen Installation dann sehr schnell Probleme bekommt, sollte niemanden wundern.

Ich selbst nutze auf meinen Seiten keine Sicheheits-Plugins aktiv. Ich verwalte nur zwei Seiten, die solche Plugin einsetzen (eines davon auch iThemes), aber ich würde sie dennoch nicht an unerfahrene Nutzer weiterempfehlen. Gerade die Einstellung zum Ändern des wp-content Ordners kann potentiell zu vielen Problemen führen. Gleichzeitig hat die Einstellung kaum Auswirkungen auf die Sicherheit der Seite. Im schlimmsten Fall verhindert es sogar effektive Sicherheitsmechanismen, wie die Blockierung zur Ausführung von PHP-Skripten im wp-content/uploads Ordner. Wenn man die Einstellung “PHP in Uploads” in iThemes aktiviert und dann den Ordner wie zuvor ändert, dann wird auch hier die Ausführung von “PHP in Uploads” nicht aktualisiert und der Schutz ist weg. Das ist schon ziemlich enttäuschend. Man muss also erst den Ordner ändern und dann die anderen Einstellungen aktivieren.

Das nächste man, wenn ihr also ein Sicherheits-Plugin einsetzt, informiert euch bitte genau über die Einstellungen, bevor ihr sie aktiviert. Und wenn es große roten Warnhinweise gibt, dann lasst die Einstellung vielleicht einfach lieber deaktiviert 🙂

Ein neuer deutschsprachiger Podcast für WordPress Anfänger

Eigentlich würdet ihr ja heute die Übersetzung meines englischen Artikel aus der letzten Woche erwarten. Aber aus gegebenem Anlass möchte ich heute eine kleine Ankündigung machen, denn ich habe endlich ein lange geplantes Projekt umgesetzt, das ich euch gerne vorstellen möchte.

Ein Podcast für WordPress-Einsteiger

Anfang letzten Jahres hatte ich euch ja eine kleine Kurzvorstellung zu den beiden deutschen Podcast PressWerk und WP Sofa geschrieben.

Heute ist die erste Folge, beziehungsweise die sogenannte “Nullerfolge” des capital_P_odcast erscheinen.

Wenn ihr wissen wollt, worum es in diesem Podcast gehen soll, woher der Name kommt (und wie man ihn ausspricht), dann besucht doch einfach mal die Seite, abonniert den Feed und gebt uns Feedback. Wir würden uns sehr freuen, wenn er dem ein oder anderen von euch weiterhelfen kann.

Fehlerhafte Plugin-Übersetzung in WPML reparieren

Letzte Woche hatte ich in einem Projekt ein Problem, bei dem für ein Plugin nicht die richtige Sprache geladen wurde. Es war ein mehrsprachiges Projekt mit drei Sprachen. Die Standardsprache war Deutsch, eine der beiden anderen war Englisch. Wenn es Probleme beim Laden von Übersetzungen gibt, wird ja normalerweise immer nur der englische Originaltext angezeigt. Nicht so in diesem Fall. Alle Texte waren in der Standardsprache Deutsch zu sehen, selbst auf der englischen Seite.

Das Projekt verwendete WPML für die Übersetzung der Inhalte. Für alle anderen Plugins, das Theme und die Inhalte, wurde immer die korrekte Sprache angezeigt. Nur eben nicht für dieses eine Plugin. Den Fehler zu finden war gar nicht einfach. Nachdem ich ihn dann aber ausgemacht hatte, war die Lösung schnell gefunden.

Weiterlesen →

WordCamp Europe 2017 – Lernen. Verbinden. Mitwirken.

Ja, ich weiß. Schon wieder ein WordCamp-Rückblick. Aber ich verspreche, dass es der letzte für die nächsten zwei Monate sein wird und ihr euch dann wieder auf “normale” Beiträge freuen könnt 😉 Vor zwei Wochen war es also soweit, das WordCamp Europe 2017 fand in Paris statt. Und da die Erinnerungen noch einigermaßen frisch sind, schreibe ich sie mal für euch nieder.

Paris genießen

Ich bin schon am Montag nach Paris geflogen. Normalerweise reise ich nicht so viel früher an und verbringe nur wenige zusätzliche Tage in der Stadt. Aber da ich Paris liebe, habe ich gleiche eine ganze Woche gebucht. Leider konnte mich einer meiner Kollegen nicht begleiten. Daher habe ich mir ein paar andere “Opfer” aus der deutschen WordPress Community gesucht, denen ich meine Lieblingsorte in Paris zeigen konnte. Natürlich waren auch ein paar typische touristische Orte dabei:

Ich bin nicht nur ein großer Fan der Stadt, sondern auch der französischen Küche. Ein Urlaub in Frankreich ohne Wein, Baguette und Käse geht also nicht. Ich habe zu meiner Käseauswahl auch sehr gute Kritiken bekommen 🙂

Weiterlesen →

Ein erfolgreiches achtes Jahr geht zu Ende

Heute vor 8 Jahren habe ich mit meinem Blog angefangen. Pünktlich zum Geburtstag gibt es wie immer den obligatorischen Beitrag hierzu. Wer meinen Blog schon lange verfolgt, der wird mitbekommen haben, dass ich besonders in den beiden letzten Jahre sehr aktiv war.

Letztes Jahr zu dieser Zeit steckte ich gerade mitten im Projekt 52, bei dem es mein Ziel war, jede Woche einen Blogbeitrag zu schreiben. Ich habe es bis zum Ende durchgehalten und zu allem Überfluss auch noch den Adventskalender wiederholt 🙂

Wie ich im letzten Beitrag von Projekt 52 im letzten Jahr angekündigt habe, wollte ich dieses Jahr das Projekt ein wenig verändern. So blogge ich zwar noch immer jede Woche, aber immer zuerst auf Englisch und danach auf Deutsch. Nur heute gibt es den Beitrag zur Feier des Tages gleich in beiden Sprachen und ich fange auch mal mit dem deutschen Text an. Zuerst kommt natürlich wie immer der kleine Statistikteil 😉

Weiterlesen →