Copying sources and texts (also in parts) for publishing without our permission is NOT ALLOWED. We are fed up with finding our work on other sites (like stackoverflow).
Das Kopieren von Quellcode und Texten (auch in Auszügen) ist nicht erlaubt. Wir haben es gründlich satt, unsere Arbeit auf anderen Webseiten zu finden.

Copying for non-public usage is allowed.           Das private Kopieren und Benutzen ist natürlich erlaubt und erwünscht.

Kategorie "Wordpress"

12. Nov
Teaser

WordPress: Die robots.txt ohne Plugin anpassen

Um den Inhalt der “robots.txt” in einem WP Blog zu verändern oder zu ersetzen, brauchen Sie nicht zwingend ein Plugin oder komplexe Ersatzstrukturen.

Im aktuellen Theme (= Layout / Design) die Datei “functions.php” finden und bearbeiten. Dort am Ende folgende Zeilen einfügen:

add_filter('robots_txt', 'addToRoboText');

function addToRoboText($robotext) {
    $additions = "User-agent: *
Allow: /";
    return $robotext . $additions;
}

In der Variablen $robotext steht der Inhalt der WordPress Installation bzw. der bisher erzeugten Zeilen.

Soll nur der eigene Text angezeigt werden, so kann diese Variable unterdrückt werden indem sie nicht zurück gegeben wird. Dazu ersetzen Sie die Zeile “return …” durch folgende Zeile:

return $additions;
05. Aug 2017
Teaser

WordPress: Die readme.html Datei blocken

WordPress hat schon lange die unbeachtete Sicherheitslücke mit der eigenen “readme.html” Datei.

Das wird bei den Veröffentlichungen (Updates) wohl auch keiner vom WordPress Team mehr lernen: Solche Details geben Angreifern wertvolle Informationen über das eingesetzte System, die eingesetzte Version (denn auch die readme Datei ändert sich von Zeit zu Zeit) und somit mehr Möglichkeiten des Angriffes. Der Inhalt solcher Dateien ist für den Webseitenbetreiber ggf. interessant; jeden anderen gehen solche Details nichts an.

Lösung:
Sperren Sie selbst in der .htaccess Datei den Zugriff auf diese Datei:

RewriteCond %{THE_REQUEST} /readme\.html[?/\s] [NC]
RewriteRule ^ - [R=404,L]

Danach wird dem Benutzer für diese Datei ein 404 Fehler (“Datei nicht gefunden”) angezeigt.

28. Aug 2014
Teaser

WordPress: Verbergen von Benutzernamen und ID Zuordnung (WordPress User IDs and User Names disclosure)

Wenn man bei einer WordPress Webseite die URL “http://www.example.com/?author=1? angibt, dann erhält man eine Liste der Artikel des entsprechenden Benutzers und seinen Namen.

Das klingt auf den ersten Blick nicht sonderlich schlimm – erlaubt jedoch die Zuordnung der Benutzernamen und das Zuordnen dieser Namen zur internen Benutzer ID.

Aber: Das zeigt auf, dass …

  1. die Benutzer-IDs generisch (fortlaufend) erzeugt werden und man dadurch herausfinden kann, wieviele Benutzer auf der WordPress Installation arbeiten
  2. eine Benutzer-ID vergeben / aktiviert ist
  3. durch die Umleitung Schwachstellen entstehen können

Diese Schwachstelle in WordPress kann durch eine Ergänzung in der .htaccess Datei gesperrt werden:

1
2
RewriteCond %{QUERY_STRING} author=\d
RewriteRule ^ /? [L,R=301]

Diese Ergänzung leitet entsprechende Anfragen auf die Startseite (bzw. das Rootverzeichnis) des Webservers um. Die Daten können auf diese Weise nicht ausgelesen werden.

 
25. Jul 2014
Teaser

WordPress und die Sicherheit

Wir bieten derzeit ein paar WordPress Plugins an und freuen uns über die positive Resonanz und aktive Nutzung durch unsere Kunden. Aber neuerdings versucht das WordPress Team, neue Plugins nach individuellen Richtlinien zu prüfen. An sich ist eine solche Prüfung eine gute Sache und längst überfällig. Wenn jedoch jeder freiwillige WordPress Helfer (also “Mitarbeiter”) seinen eigenen und dann noch flexiblen Wunsch-Maßstab ansetzt – dann wird eine effektive Prüfung Glückssache.

Genau in diesem Dilemma befinden wir uns derzeit mit unsererm neuesten Plugin “Abuse Protector” für WordPress.

Es schützt WordPress Systeme vor den steigenden, nervigen und teils riskanten Bot-Angriffen. Dabei gibt es diverse Angriffsmuster. Bemerkt unser Plugin einen solchen Angriff, meldet es diesen sofort an unsere Datenbank … nicht mit dem Namen der Webseite sondern zum Schutz mit einem Schlüssel (API Key) kodiert. Dadurch können alle anderen Seiten mit unserem Plugin beim ersten Besuch einer solchen IP diesen Zugriff direkt blockieren – natürlich profitiert jeder davon. Denn ein Angriff in Kapstadt kann nach wenigen Sekunden auch Ihren Blog schützen.

Und WordPress ? Man hat uns untersagt, das Plugin mit dem folgenden Lizenzzusatz zu vertreiben:

“Die kommerzielle Nutzung und Verbreitung ist untersagt”

WordPress: “Das müsse man jedem erlauben.”

Das sehen wir anders, denn wir haben das Plugin in unserer Freizeit erarbeitet und wir sehen es partout nicht ein, dass eine Firma damit Geld macht und Sie als unseren Kunden ggf. dafür zahlen sollen. Zudem soll das Plugin den API-Key nicht automatisch bei der Installation erzeugen. Man fordert, dass unserere Kunden sich bei uns extra registrieren und sich einen API-Key manuell abholen oder zuschicken lassen. Dann soll der Key in dem Plugin manuell eingetragen werden. Der Weg sei besser (sagt das WordPress Team).

Das finden wir garnicht, denn (neben dem Zusatzaufwand für unsere Kunden):

  • Was passiert denn bei einem Fehler beim Aptippen des API-Keys ?
  • Oder beim fehlerhaften Kopieren des Keys (z.Bsp. Vergessen des letzten Zeichens) ?

Wir müssten dann sofort jeden Key mit unserem Server verifizieren und unsere Kunden um Korrektur bitten … viel zu viel Aufwand für ein einfaches Plugin, oder ? Wer soll denn diesen Aufwand (zusätzliche bereiche auf unserer Webseite) programmieren, pflegen und schützen ? Wir ? Klar. Aber das System ist kostenlos und wir haben auch nicht alle zeit der Welt für kostenlose Plugins und Arbeiten.

Fazit: Wir werden das Plugin nur auf unserer Seite anbieten und nicht auf WordPress.

Zudem bauen wir das Plugin um für andere CMS Systeme … denn dort hat man Interessen an unserem System.

09. Jun 2014
Teaser

WordPress: Verbergen von Benutzernamen und ID Zuordnung (WordPress User IDs and User Names disclosure)

Wenn man bei einer WordPress Webseite die URL “http://www.example.com/?author=1” angibt, dann erhält man eine Liste der Artikel des entsprechenden Benutzers und seinen Namen.

Das klingt auf den ersten Blick nicht sonderlich schlimm – erlaubt jedoch die Zuordnung der Benutzernamen und das Zuordnen dieser Namen zur internen Benutzer ID.

Aber: Das zeigt auf, dass …

  1. die Benutzer-IDs generisch (fortlaufend) erzeugt werden und man dadurch herausfinden kann, wieviele Benutzer auf der WordPress Installation arbeiten
  2. eine Benutzer-ID vergeben / aktiviert ist
  3. durch die Umleitung Schwachstellen entstehen können

Diese Schwachstelle in WordPress kann durch eine Ergänzung in der .htaccess Datei gesperrt werden:

RewriteCond %{QUERY_STRING} author=\d
RewriteRule ^ /? [L,R=301]

Diese Ergänzung leitet entsprechende Anfragen auf die Startseite (bzw. das Rootverzeichnis) des Webservers um. Die Daten können auf diese Weise nicht ausgelesen werden.

08. Mrz 2014
Teaser

WordPress: Automatische Zeilenumbrüche verhindern (<p> und <br>)

WordPress ergänzt nur allzu gerne den HTML Code einer Seite oder eines Artikels mit Zeilenumbrüchen und Absätzen. Im Großteil der Fälle mag diese Technik entweder unbemerkt oder gar hilfreich sein – es gibt aber auch Seiten, auf denen dieses Verhalten stört.

Um dieses Verhalten in WordPress zu deaktivieren, fügen Sie die folgenden beiden Zeilen einfach in die “functions.php” in Ihrem Layout (“theme”) ein:

remove_filter("the_content", "wpautop");
remove_filter("the_excerpt", "wpautop");
26. Jul 2012
Teaser

WordPress: “Für kurze Zeit nicht verfügbar um eine regelmäßige Instandhaltung durchzuführen. Prüfe in einer Minute nochmals.”

Wenn Sie beim Update Ihrer WordPress (WP) Installation diese Meldung erhalten, bzw. auf dem Bildschirm nurnoch diese Meldung sehen, folgen Sie einfach den u.a. Schritten:

Für kurze Zeit nicht verfügbar um eine regelmäßige Instandhaltung durchzuführen.
Prüfe in einer Minute nochmals.

bzw.

Briefly unavailable for scheduled maintenance. Check back in a minute.

Einfache Möglichkeit

Löschen Sie im Hauptverzeichnis Ihrer WordPress Installation die Datei “.maintenance”:

rm pfad/.maintenance

Danach können Sie sich (meist) wieder im Backend Ihrer WP-Webseite anmelden und das Update manuell erneut starten oder beenden.

Sichere Lösung

Installieren Sie die aktuelle Version (das Update) manuell auf Ihrem WebServer neu:

  1. Dafür laden Sie sich die aktuelle Version von der WordPress Seite herunter:
    http://de.wordpress.org
    http://www.wordpress.org
  2. Entpacken Sie das Archiv (ZIP oder TAR.GZ) auf Ihrem Computer
  3. Verbinden Sie sich per FTP mit Ihrem WebServer
    z.Bsp. mit FileZilla
  4. Laden Sie die entpackten Dateien in das WP Verzeichnis auf Ihrem WebServer
  5. Rufen Sie Ihren Backenbereich auf:
    http:/ihre-webseite.de/wp-admin
  6. Meist müssen Sie hier (einmalig) dem Update der WP-Datentabellen zustimmen
  7. Fertig
28. Sep 2010
Teaser

WordPress: Deine PHP-Installation scheint nicht über die von WordPress benötigte MySQL-Erweiterung zu verfügen

Beim Aufruf Ihrer Webseite erhalten Sie folgende Meldung ?

Deine PHP-Installation scheint nicht über die von WordPress benötigte MySQL-Erweiterung zu verfügen.

Prüfen Sie bitte, ob auf Ihrem Server die folgenden Programme (Module) richtig installiert sind:

  • PHP
  • mySQL
  • php5-mysql

Sollte z.Bsp. “php5-mysql” fehlen, dann können Sie unter Debian mithilfe des Befehles “apt-get install php5-mysql” dieses Modul nachinstallieren. Anschließend sollte Ihre Webseite (wieder) richtig funktionieren.

06. Aug 2010
Teaser

WordPress: Revisionen eines Artikels löschen (Historie löschen)

Das CMS “WordPress” stellt Ihnen Ihre alten Versionen der Artikel zur Verfügung. Unter jedem Artikel können Sie im Abschnitt “Revisions” jede (gespeicherte) Änderung des Artikels nachvollziehen und auf Wunsch mit einer anderen Version des Artikels vergleichen lassen.

Diese manchmal recht praktische Funktion kann jedoch auch unerwünscht sein und ggf. Datenbank-Ressourcen belegen. Zugegeben, es sind keine sehr großen Datenmengen – jedoch kann mit der Zeit und entsprechend vielen Artikeln auch hier eine stattliche Anzahl an Datenbankeinträgen zusammen kommen.

Um hier aufzuräumen und diese alten Datensätze endgültig zu löschen, nutzen Sie folgendes SQL Script:

delete FROM wp_posts WHERE post_type = 'revision'

Führen Sie den vorherigen SQL Befehl auf Ihrer entsprechenden WordPress Datenbank aus. Dafür können Sie z.Bsp. die kostenlose und Open Source Datenbankverwaltung “phpMyAdmin” nutzen. Achten Sie dabei darauf, dass Sie ggf. den Prefix der Tabelle (hier: “wp_”) anpassen müssen. Das ist jedoch nur dann erforderlich, wenn Sie bei der Installation einen eigenen Prefix gewählt haben. Sollten Sie sich nicht sicher sein, können Sie den SQL Befehl trotzdem ausführen – ist die Tabelle nicht vorhanden, erhalten Sie eine entsprechende Fehlermeldung und keine Daten wurden gelöscht.

Wenn Sie sich zuvor die zu löschenden Daten ansehen möchten, dann hilft Ihnen dieser SQL Befehl weiter:

SELECt * FROM wp_posts WHERE post_type = 'revision'
22. Jul 2010
Teaser

WordPress: Fehler beim Laden des Stylesheets: Ein unbekannter Fehler ist aufgetreten (805303f4)

Wenn Sie bei Ihrem WordPress auch das Plugin “Google XML Sitemaps” benutzen, stehen Sie nach dem Update auf Version “3.2.4” des Plugins vor einem kleinen Problem. Leider bekommen Sie es bewußt nicht immer mit sondern merken es erst nach einer Überprüfung z.Bsp. in den Google Webmaster Tools:

Ihre (vom Plugin generierte) XML Datei ist nicht erreichbar:

Fehler beim Laden des Stylesheets: Ein unbekannter Fehler ist aufgetreten (805303f4)

Teilweise tritt dieses Problem nur bei einer Domain auf – die Hauptdomain (oder erste Domain) läuft relativ ungestört weiter. Für Google und andere Suchmaschinen (Crawler) ist das kleine Problem jedoch massiv, denn sie können Ihre XML Sitemap nicht mehr (richtig) verarbeiten. Dadurch kann es zu plötzlich fehlenden Links und Einträgen in den Suchmaschinen bzgl. Ihrer Webseite kommen. Hintergrund ist ein Problem mit der Verlinkung auf die hinterlegte XSL Datei.

Lösung:

Benennen Sie die Daten “sitemap.xsl” im Verzeichnis “/wp-content/plugins/google-sitemap-generator/” einfach um. Ohne diese Daten erzeugt das Plugin die XML Sitemap wieder fehlerfrei und Google kann wieder alles lesen.

Beispielbefehl für Linux:

mv sitemap.xsl sitemap.xsl.old

In Ihrem FTP Programm können Sie die Datei einfach umbenennen. Häufig ist diese Funktion auf die Taste “F2” gelegt.

Wichtig für eine schnelle Korrektur:

Erzeugen Sie nach der Umbenennung der XSL Datei Ihre XML Sitemap neu. Gehen Sie dafür in Ihrem WordPress Backend (Administrationsbereich “/wp-admin/”) auf “Einstellungen” > “XML-Sitemap”. Dort klicken Sie auf “… von Hand neu erstellen”. Danach ist die korrigierte XML Daten für die Suchmaschinen verfügbar.