Sidebar
ein-/ausblenden

WordPress Version verschleiern (Plugin)

Plugin für WordPress SEO

Anzeige

WP Flame
Bild: Noticiastech

Wie man WordPress in 11 Punkten sicherer macht, dass habe ich im Artikel „WordPress sicherer machen“ auf dem Blog zu meinen Buch „WordPress - Weblogs einrichten und administrieren“ in kurzer und knapper Form erläutert.

Dabei erläutere ich in Punkt 4 des Artikels, dass man dem Außenstehenden nicht unbedingt die Version seiner Installation verraten sollte. Dies ist vor allem relevant, wenn man das Blog nicht immer auf dem neusten Stand hält/ halten kann.
Dafür kann es eine ganze Reihe von Gründen geben. Nehmen wir beispielsweise ein Kundenprojekt, aufgesetzt mit WordPress. Nach besten Wissen und Gewissen eingerichtet und administriert. Allerdings möchte der Kunde keinen weiteren Pflegevertrag und so liegt das Blog in der Regel mit der einmalig installieren Version auf dem Webspace.

Allerdings ist es nicht für jeden Anwender einfach, die Versionsnummer zu entfernen bzw. zu ändern, deshalb habe ich mir eine Lösung via Plugin überlegt.

Im WWW werden in der Regel Sicherheitslücken mitgeteilt und auch potenziell böswillige Interessenten nutzen diese Information und suchen nach den entsprechenden Versionen mit ihren Schwachstellen.

Eine Webapplikation wirklich sicher zu bekommen, so dass auch die Arbeit damit nicht zur Last fällt, ist sicher immer schwierig, aber die Verschleierung der Version ist sicher ein weiterer Schritt zu mehr Sicherheit.

Nun aber wieder zur Ausgabe der WP-Verison, die in der Regel im Feed und im Theme zu finden ist. Das Entfernen im Theme stellt keine großen Probleme dar, dazu genügt das entfernen der folgenden Zeile.

<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />

Aber auch das kann für den einen oder anderen schon zum Problem werden.

Um nun aber die Version der WP-Installation auch noch aus dem Feed zu bekommen, muss man in die Core-Dateien von WordPress eingreifen. Dies erschwert Updates und ist aus den unterschiedlichsten Gründen nicht zu empfehlen, zumindest für den Laien.

Ab Version 2.5 von WordPress wird der Generator-Tag mit Hilfe einer neuen Funktion (the_generator()) in die jeweiligen Funktionen, wie RSS, ATOM oder RDF, eingebracht, was es ein wenig einfacher macht, die Ausgabe der Installations-Versions-Nummer zu unterbinden.
Derzeit wird es in der Datei zum Erstellen des RSS und Atom-Feeds via bloginfo_rss() eingefügt und ansonsten wird direkt die Variable ausgelesen.

Ich habe nun ein Plugin erstellt, dass alle drei Möglichkeiten beachtet und die Versionsnummer im Backend auch weiterhin ausgibt, denn sie ist für das eine oder andere Plugin relevant.

Update

Im weiteren Verlauf ist ein Plugin entstanden, welches weitere Sicherheitsprobleme schließt - Secure WordPress. Dieses Plugin hat diese Lösung im Kern und kann es damit ersetzen.

Replace WP-Version (Plugin)

Das Plugin ersetzt die WordPress-Versionsnummer mit einer Zufallszahl zwischen 0 und 9999 bei einer WordPress-Installation kleiner Version 2.4.

Ab WordPress Version 2.4 wird der Tag komplett entfernt.

Anforderungen:

Das Plugin wurde unter WP 2.0.2, WP 2.3.* und WP 2.4beta getestet.
Achtung: Ich habe das Plugin nach bestem Wissen erstellt und getestet incl. Validierung der Feeds. Trotzdem kann es zu Problemen kommen, denn es ist kein Filter, den man in WordPress deaktivieren kann. Sollte es also zu Problemen mit dem einen oder anderen Plugin kommen - ich würde mich über Feedback freuen. Aber ich kann und will keine Garantie für die problemlose Funktion übernehmen!

Installation:

  1. Die zip-Datei downloaden und entpacken
  2. Kopiere die Datei in dein Plugin-Verzeichnis (/wp-content/plugins/)
  3. Aktiviere das Plugin im Adminbereich deines Blogs

Download:

Ist die Arbeit nicht 1 Euro wert?
Jede Spende wird dankbar angenommen und ermöglicht das weitere Arbeiten an freier Software.
Möchtest du mehr oder anders spenden, so besuche meine Wunschliste.

Download als zip-Datei: downloads.wordpress.org/plugin/replace-wp-version.zip - 1 kByte

Historie

  • v0.1 - Idee und Umsetzung
  • v0.2 - 0.3 - Codeverbesserung, Testphase mit DB-Änderung
  • v1.0 - Stabiler Stand in allen WordPress-Versionen, test bis 2.6entw.

22 Kommentare und 30 Trackbacks zu „WordPress Version verschleiern (Plugin)“

  1. 1
    Pingback von Manuel’s Blog » Blog Archiv » Wordpress Version verschleiern
  2. 2
    Pingback von mein gott und meine welt » Blog Archive » WordPress für C64
  3. 3
    Kommentar von Hasan
  4. 4
    Kommentar von Marco

    Ich habe noch keine Fehler entdeckt, vielen Dank!

  5. 5
    Pingback von UPDATE: WordPress Sicherheits Scanner » picard und der blog
  6. 6
    Pingback von WordPress Plugins Database » Plugin Details » Replace WP-Version
  7. 7
    Pingback von Wordpress gehackt bzw. zweckentfremdet |
  8. 8
    Pingback von WordPress sicherer machen | WordPress-Buch
  9. 9
    Pingback von WP 2.5 - unnötigen Ballast abwerfen « Nicht spurlos
  10. 10
    Kommentar von André Wegner

    Hallo Frank, ich bin etwas irritiert. Du schreibst, dass ab Version 2.4 der Tag gar nicht mehr erscheinen würde. Wenn ich aber in den Header meines Blogs gucke, dann erscheint eine Zahl anstatt gar nichts. Ich verwende WP2.5.

  11. 11
    Kommentar von Frank Bültge

    @André Wegner: Das Theme wird via Hook wp-head() angesprochen, daher kann man die Version auch nicht mehr so einfach entfernen, wie bisher. Das Plugin löscht den Eintrag raus.

  12. 12
    Kommentar von frasten

    Hi, I use your plugin, but I have a problem:
    If I try to open /wp-admin/upgrade.php it says that an upgrade is required. And if I try to do that upgrade, the database screws up, and needs a backup-restore.
    The reason is that $wp_db_version is rewritten by a random number, and hence it doesn't equal to get_option('db_version') anymore.
    A temporary fix is to comment out row 27:

    // $wp_db_version = $v;

    Thank you for your work! :-)

  13. 13
    Kommentar von Frank Bültge

    @frasten: thx for your comment, i have fixed the bug and upload the new version.

  14. 14
    Pingback von ssh tips - using && to make life easier | Hosting Formula
  15. 15
    Pingback von Wordpress için 10 güvenlik eklentisi,askapache password protect, replace wp version, anonymous wordpress plugin updates, semisecure login, wp spamfree, force ssl, wordpress database backup, backupwordpress, wp security scan, secure files, word
  16. 16
    Pingback von Wordpress için 10 güvenlik eklentisi | Güncel Blog
  17. 17
    Pingback von Wordpress i
  18. 18
    Pingback von Hersohbet.Com Yeni bir sohbet, yeni bir arkadaş istiyorsan doğru yerdesin. » Blog Archive » Wordpress için 10 güvenlik eklentisi
  19. 19
    Pingback von Plugins, which must be installed at each WordPress site » Web-master's Freedom of Speech
  20. 20
    Pingback von Плагины, которые должны быть обязательно установлены на каждом WordPress-сайте » Свобода слова вебмастерского
  21. 21
    Pingback von Sicherheit / WordPress absichern
  22. 22
    Pingback von PhotoCore’s Blog » Blog Archive » Плагины, которые должны быть обязательно установлены на каждом WordPress-сайте
  23. 23
    Pingback von Apologies for the Slowness | jason friesen {dot} ca
  24. 24
    Pingback von 50+ Wordpress随机插件 - 网络应用与资讯
  25. 25
    Pingback von 五毒 » Blog Archive » Wordpress随机插件
  26. 26
    Pingback von 50+ Wordpress随机插件,或许有一些适合你 | Idiigo.com
  27. 27
    Kommentar von Frank Bültge

    eben kam ein Kommentar rein, wurde von mir aus versehen gelöscht, bitte wiederholen, wenn möglich. Ging um die Funktion ablegen im Theme. Dies geht natürlich auch, was aber das Zulassen eine globalen Variable nötig macht..

  28. 28
    Kommentar von Danilo

    Ja, gerne nochmal. Also, meine Überlegung betrifft nur das Verschleiern der Version, was ja mittlerweile nicht mehr der einzige Zweck des Plugins ist...
    Mir gefiel der Gedanke nicht, wegen dieser zwar wichtigen, aber doch Kleinigkeit ein extra Plugin zu installieren. Die functions.php des Themes funktioniert auch wie ein Plugin. Ein kurzes
    if ( !is_admin() ) {
    global $wp_version;
    $wp_version = "sinnlose Versionsnummer oder sonstwas";
    }

    und schon ist in Feed und Head-Bereich die Version verschleiert. Zwar nicht weg, aber so etwas wie "Wordpress Power" sieht doch auch noch cool aus, finde ich.

    Was spricht denn gegen die globale Variable? In Deinem Plugin kommt die doch auch vor?

  29. 29
    Kommentar von Jared

    Hallo Frank,

    ich bin durchs WordPress Plugin Archiv auf deine Seite gestoßen. Tolles Plugin ;-)

    PS: Kann sein ich das mich irre, aber es gab meines Wissens keine WP Version 2.4?! Oder?

  30. 30
    Kommentar von Frank Bültge

    @Jared: stimmt, denn sie wurde übersprungen, da die Neuerungen alle dann in 2.5 eingeflossen sind.

  31. 31
    Kommentar von Danilo

    Hallo Frank,

    warum ist die globale Variable in meinem obigen Vorschlag problematisch?

  32. 32
    Kommentar von Frank Bültge

    @Danilo: ist nicht problematisch, globale Variablen sollte man vermeiden. Wenn es einen Bug im Theme gibt, dann ist diese nutzbar. Aber für die Lösung ist sie notwendig.

  33. 33
    Pingback von mesky blogs » Blog Archive » 50+ Wordpress随机插件
  34. 34
    Pingback von WP All-In-One tools - Многофункциональный плагин | Студия дизайна Infine.ru
  35. 35
    Pingback von Wordpress随机插件大全 | 电脑厨房
  36. 36
    Pingback von WordPress天下 » Blog Archive » 50个Wordpress随机插件
  37. 37
    Pingback von Installing Plug-ins to Improve Wordpress SEO: : Keys to Web Site Success
  38. 38
    Kommentar von davdo

    How can i change it from wordpress 6524 to something more personal like TexMex 6524? How do you replace the wordpress word.

  39. 39
    Kommentar von Frank Bültge

    @davdo: only with changes in the code: replace $v = intval( rand(0, 9999) ); in $v = 'TexMex' . intval( rand(0, 9999) );

  40. 40
    Kommentar von david

    Is there any way to replace the word WordPress completely with another word of my choice

  41. 41
    Pingback von Security Wordpress plugins that make your site secure ! | Flex & AIR
  42. 42
    Pingback von Augmenter la sécurité de Wordpress à l’aide de 10 plugins
  43. 43
    Pingback von 50+ Wordpress随机插件
  44. 44
    Pingback von Nowog.com » 50款Wordpress随机插件
  45. 45
    Kommentar von Steven

    Hallo

    Wollte nur mal mein Dank aussprechen für das Plugin.

    Gruß

  46. 46
    Pingback von Nowog.com » Wordpress的随机插件
  47. 47
    Kommentar von ibonette

    thank you
    ibonette

  48. 48
    Kommentar von Oliver

    Auch hier die Frage nochmal. Funktionsfähig mit 2.7.???

  49. 49
    Kommentar von NoFun

    Hab 2.7 aber bekomme ne Fehlermeldung :
    Fatal error: Cannot redeclare fb_replace_wp_version() (previously declared in /wp-content/plugins/fb-re_wpversion.php:14) /wp-content/plugins/replace-wp-version/fb-re_wpversion.php on line 12

    Dennoch danke für deine mühe und all den Info´s über WordPress usw. so viel zu Lesen *gg.Schönen Tag noch ciaoo ...

  50. 50
    Kommentar von Frank Bültge

    @NoFun: liegt die Datei zwei mal vor, einmal in plugins und einmal im Ordner plugins/replace-wp-version ? Es empfiehlt sich im übrigen das Plugin Secure WordPress zu nutzen, da ich nur dort weiterhin pflege, die alte Version pflege ich nicht mehr.

  51. 51
    Kommentar von Alexander

    Hi, Frank. I'm from Russia.
    Your plugin - really good plugin. I'll write about your plugin in my book.
    As they say in Russia: all the best!
    And good luck.

  52. 52
    Kommentar von Frank Bültge

    @Alexander: many thanks and also good luck for you!

Kommentar schreiben

Kommentarregeln: Bleib cool, kritisch ist in Ordnung, aber wenn du unhöflich bist, dann lösche ich deinen Kommentar. Bitte benutze deinen persönlichen Namen oder Initialen und nicht den Namen eines Unternehmens, dies würde als Spam gewertet und wird gelöscht. Der Zusammenhang zwischen Namen und URL sollte nicht offensichtlich auf Spam hindeuten! ♥ Ansonsten, vielen Dank für den Kommentar und viel Spaß mit meinem Blog.

E-Mail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.

Kommentar-Hilfe

händischer Spam:
Beachte die Kommentarregeln, jede Form von versuchtem Spam wird gelöscht. Warum und wieso steht in einem meiner Beiträge.

Bezug auf Textstellen:
Du kannst direkt bezug auf Textstellen im Beitrag nehmen. Dazu muss lediglich der Bereich im Artikel markiert werden; daraufhin erscheint ein Button, der den markierten Text in das Kommentarfeld übernimmt und als Zitat auszeichnet. Die Funktion ist nur bei aktivem JavaScript nutzbar.

xHTML:
Du kannst folgende Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <pre> <em> <strong> <strike> <ul> <ul> <li>

Achte darauf, wenn du Code im Kommentar hinterlegen willst, dann muss der Code maskiert sein. Dann wird er nicht interpretiert. Der Code muss mit Hilfe von HTML-Entities dargestellt werden, d.h. dass man z.B. < als &lt; und > als &gt; einfügt.

E-Mail-Benachrichtigung bei neuen Kommentaren ?
Wenn der Haken in der Checkbox gesetzt ist, dann wirst du über neue Kommentare vie E-Mail informiert. Der Versand erfolgt nur, wenn du die URL in der Bestätigungs-E-Mail genutzt hast oder schon Abonnent hier im Blog bist.

Kommentar erscheint nicht:
Alle Kommentare werden manuell geprüft, freigegeben und nach Möglichkeit beantwortet. Bitte um etwas Geduld und Nachsicht.

Identifikationsbilder (Avatare):
Auf Gravatar.com kann man sich mit seiner E-Mail-Adresse registrieren und ein Bild hochladen, dann erscheint dieses Gravatar hier und in vielen weiteren Blogs.

Spamschutz:
Das Kommentarformular ist mit einem Spamschutz ausgerüstet. Solltest du diesen Artikel ohne JavaScript besuchen und kommentieren wollen, so muss du die Frage beantworten und das jeweilige Wort in das Textfeld eingeben.