i_wordpress

Page 1 of 3123

habe endlich ein wenig zeit gefunden, um auf wordpress 2.7 upzudaten; zum glück ohne jegliche probleme:

– download
– entzippen
– alle plugins deaktivieren
– wie wp-config.php anpassen
– upload
– ausführen von /wp-admin/upgrade.php
– alle plugins wieder aktivieren
– ein wenig testen
– fertig

habe endlich ein wenig zeit gefunden, um auf wordpress 2.6 upzudaten; wie erwartet hat es zum glück ohne jegliche probleme funktioniert…

– download neues wp, entzippen, upload
– ausführen von /wp-admin/upgrade.php
– fertig

wäre fein, wenn das z.b. im sharepoint auch so einfach funktionieren würde 😉

… wie aus diesem kurzen screencast meiner meinung nach sehr eindrucksvoll ersichtlich ist, erwarten uns in der version 2.5 viele neue features. der release wurde ja leider verschoben, aber nun ist es endlich soweitwordpress 2.5 steht zum download bereit!

ich hatte im vorfeld leider nicht die zeit, die verfügbarkeit für 2.5 der von mir verwendeten plugins zu überprüfen; möchte das aber asap nachholen – schließlich möchte ich so schnell wie möglich die neuen features verwenden!

so, die wichtigsten dinge für das upgrade auf 2.2.2 sind nun erledigt; es fehlen noch einige plugins und vor allem das theme muss ich noch fertig anpassen – aber für heute reicht es.

zur erinnerung:
vor dem upgrade

bin mitten in einem wordpress upgrade (wie immer kombiniert mit neuen plugins und neuem design) – daher bitte nicht wundern, wenn das eine oder andere nicht funktioniert bis ich fertig bin 🙂

ohne die masse an plugins, die es mittlerweile zum glück gibt, wäre wordpress mit sicherheit nicht so beliebt: wenn man ein wenig sucht, so findet man eigentlich immer ein plugin, welches genau die funktionalität bietet, die man gerade benötigt – und wenn nicht, dann ist es auch nicht sonderlich schwer ein eigenes zu basteln.

doch: kann man eigentlich darauf vertrauen, dass das eben heruntergeladene plugin auch genau das tut, was es vorgibt? und zwar nur das?

hand aufs herz: ich bin mir sicher, dass der überwiegende anteil der anwender es genau so macht:
– plugin herunterladen
– nach /wp-content/plugins hochladen
– aktivieren
– eventuell in der options page noch konfigurieren und oder ins template einbauen
– fertig

den php code des plugins kontrolliert niemand – das ist auch teilweise aufgrund der größe gar nicht so einfach; sicherlich, der großteil der plugins hat eine überschaubare anzahl von zeilen; aber bei plugins wie z.b. sk2 würde man schon einige zeit benötigen um zu kontrollieren, welche funktionen es genau ausführt (bzw eher: was es macht, aber nicht machen sollte…)

was soll ein plugin schon großartig anstellen? gut, machen wir ein experiment – ich habe hier ein plugin namens wp-surprise vorbereitet. mache es so wie immer – also herunterladen, einspielen und aktivieren. keine angst, es passiert nichts schlimmes, versprochen. erst dann lese weiter…

gut – nun checke deine mailbox…

keine panik – es ist nichts weiter passiert – nur du hast dieses mail bekommen; der inhalt ist auch nicht weiter besonders aufregend: es sollten alle in deiner wordpress installation angelegten user enthalten sein, samt dem passwort als md5 hash. mit dem hash fangt man nicht wirklich etwas an – man kann den hash nicht einfach wieder zurück in das eigentliche passwort umwandeln; aber trotzdem: es sind zumindest alle loginnames ersichtlich, so könnte man zumindest versuchen, schwache passwörter zu erraten.

wie hat das nun funktioniert?

wenn ein plugin aktiviert wird, so können bereits beliebige funktionen ausgeführt werden; dazu verwendet man die funktion “register_activation_hook” – das ist z.b. für plugins, die einen eigenen sql table anlegen müssen unbedingt notwendig und daher auf jeden fall eine wichtige funktionalität. in dem plugin gibt es weiters eine funktion namens “hipslu_wp_surprise_init”, welche beim aktivieren des plugins sofort aufgerufen wird. diese funktion baut das mail zusammen und sendet es an die e-mail adresse des admins.

denkbar wären hier aber ganz andere funktionen:
– man könnte die passwörter der user nicht nur auslesen, sondern einfach neu setzen; das ist mit einem einfachen sql statement kein problem. der eigentliche anwender wäre somit ausgesperrt und könnte das passwort nur mehr direkt über die sql datenbank wieder ändern
– man könnte alle posts, pages, kommentare etc löschen, ändern, neue erstellen, etc
– man könnte aus der installation einen art spam-bot machen: sowohl mail spam als auch trackback spam ist kein problem
– usw, usw…

das würde aber natürlich alles auffallen und ist abgesehen davon auch wenig sinnvoll – die gefahr ist wohl auch sehr gering, weil kaum jemand daran interesse haben wird – es lohnt nicht wirklich, und nur ein sehr populäres plugin ist wirklich halbwegs oft installiert – doch gerade die populären plugins werden eher früher als später unter die lupe genommen und damit würde es auffliegen.

eines wäre aber sehr wohl eine nicht ganz unwahrscheinliche möglichkeit:
alle funktionen, die in der /wp-includes/pluggable.php enthalten sind, kann man leicht durch ein plugin ersetzen. eine dieser funktionen trägt den namen “wp_login” und ist – erraten – für das login zuständig; überprüft also, ob es den user gibt und ob das eingegeben passwort dem in der datenbank gespeicherten gleicht. mit einer minimal angepassten funktion ist es also kein problem mit irgendeinem passwort z.b. als admin einsteigen zu können…

ist diese – logischerweise vorhandene gefahr – zu vernachlässigen bzw nicht existent – weil man der wordpress gemeinde trauen kann und es sich niemand trauen würde, da es früher oder später entdeckt werden würde – oder sollte man hier sehr wohl misstrauisch sein?

als ich meine wordpress plugins damals erstellt habe, dachte ich nicht daran, dass irgendjemand anders eventuell auch gebrauch davon machen könnte – ich hab sie eigentlich zuerst nur für meine zwecke erstellt und erst später mehr oder weniger “zum spass” zum download angeboten.

doch immer wieder habe ich mails und kommentare erhalten, dass die plugins bei manchen nicht funktionieren – sondern nur einen fehler wie

Fatal error: Cannot redeclare hipslu_function_name() in /home/usr/wp-content/plugins/hipslu_plugin-name.php on line xy

bringen. da z.b. das plugin wp-head bereits knapp 4000x heruntergeladen wurde (also doch offensichtlich auch bei anderen wordpress anwendern verwendet wird), und ich natürlich auch auf die hilfe von anderen hoffe, die ihre plugins zum download anbieten – habe ich den bug nun endlich behoben; unter www.konfabulieren.com/wordpress-plugins/ gibt es die neuen versionen.

den grund, warum das bei manchen passiert ist, kann ich nicht wirklich nachvollziehen – aber hier fand ich die lösung: Replace is_plugin_page()/double loading with action hook

endlich habe ich zeit gefunden, das neue wordpress 2.0.1 auf meiner dev-seite zu installieren – und habe natürlich gleich meine plugins getestet. alle haben ohne probleme funktioniert; allerdings habe ich zwei kommentare erhalten wonach es z.b. beim wp-javascript doch probleme geben soll – wir werden sehen. ich hatte jedenfalls (erwartungsgemäß, da es ja nicht gerade besonders großartige plugins sind) keine probleme.

bis ich diese seite auf wp2 ziehe wird es noch einige zeit dauern – ich verwende selbst eine menge plugins und muss mich erst mal nach neuen versionen soweit erforderlich umsehen; beim damaligen umstieg von 1.2 auf 1.5 war das kein leichtes unterfangen. meine andere seite, hipslu.com, wird wohl gar nicht auf 2 kommen; das dort verwendete plugin exhibit wird es wohl für wp2 nie geben. mit anderen worten: sobald es irgendwelche security relevanten probleme mit 1.5 gibt, werde ich die seite wohl deaktivieren müssen, denn die zeit für eine migration auf ein anderes plugin fehlt mir zumindest momentan auf jeden fall.

also: sollte jemand probleme mit einen meiner plugins haben dann bitte ich um info, ansonsten sehe ich diese mal als wp2-ready an :mrgreen:

wie von steven maroulis angefragt gibt es eine neue option im plugin: strip slashes

Strip Slashes?

heute kam mir der gedanke, dass es sehr praktisch wäre, wenn man bei der erstellung eines neuen posts einen default text vorgeben könnte; in diesem blog kann ich das zwar nicht benötigen, aber in einer firmeninternen wordpress installation sehr wohl.

zum glück geht das sehr einfach, daher hab ich gleich ein plugin erstellt: wp default post content

Page 1 of 3123