News WordPress 3.8 mit neuem Standard-Theme

Und? Ändert ein Theme etwa grundlegend was an brutalen Schwächen innerhalb der Core-API? Der Core muss abgerissen und neu gebaut werden, nicht irgend ein Standard-Theme.

Ich bleib dabei: Alter Kack im neuen Frack!

PHP:
global $wpdb, $wp_hasher;
Weltklasse... So programmiert man heute... wenn man ein kompaktes Programm für den Eigenbedarf schreibt, nicht wenn man das angeblich tollste CMS der Welt ins Netz ballert.

Aber den Vogel abgeschossen hat meiner Meinung nach die ./wp-includes/class-phpass.php. Diese feine Datei ist unter anderem für die SICHERHEIT der Passwörter zuständig. Ich zitiere mal Zeile #132 und folgende, aus Wordpress 3.8, frisch von Github.
# We're kind of forced to use MD5 here since it's the only
# cryptographic primitive available in all versions of PHP
# currently in use.


Mal zum Vergleich, Contao 3.2 verwendet die PHP crypt()-Funktion... und zwar mit CRYPT_SHA512. Im äußersten Notfall wird auf BLOWFISH zurückgegriffen, aber lieber wird ein Fehler ausgegeben, als MD5 zu verwenden.
 
Mir gefällt die neue Oberfläche gut, es ist übersichtlicher als vorher, allein das Dashboard Update lohnt sich. Auch das Widget-Dash ist wesentlich besser, da ich nun endlich alles im Blick habe und nicht scrollen muss durch meine abgelegten, ungenutzten Widgets.
 
Turrican101 schrieb:
Und was die Leute gegen dicke Fensterrahmen haben weiss ich auch nicht.
Zumal die Fensterrahmen absolut nichts mit Wordpress zu tun haben, wie auch bei einer Software, die auf dem Webserver läuft und per Webbrowser bedient wird.
Daaron schrieb:
Ich bleib dabei: Alter Kack im neuen Frack!
Da Du ja überall den Oberguru raushängen läßt, egal, ob hier oder im Linux Subforum oder sonstwo, kleiner Tipp: wenn Du alles so gut weißt, entwickle ein Produkt, das besser ist und bringe es unter die Leute. Offenbar sind die Programmierer von Wordpress im Vergleich zu Dir ja alle unfähige Idi***.
Daaron schrieb:
Weltklasse... So programmiert man heute... wenn man ein kompaktes Programm für den Eigenbedarf schreibt, nicht wenn man das angeblich tollste CMS der Welt ins Netz ballert.
Wer behauptet das? Auf der Wordpress Webseite habe ich so etwas noch nicht gelesen, dort bezeichnet man sein Produkt nicht einmal als vollwertiges CMS, sondern als easy to use Blog System. Ach ja, stimmt ja, Du kannst da alles viiieeel besser.

Daß schon lange kein Standard Administrator mit dem Namen "Admin" mehr angelegt wird, sollte einem Experten wie Dir eigentlich bekannt sein. Laß mich raten: Du kennst Wordpress vom Hörensagen, mehr nicht, der Rest ist lauwarme Luft.
 
Zuletzt bearbeitet:
Du laberst auch bloß, aber auf die peinlichen Code-Beispiele, die ich in jeder neuen WP-Version mit wenigen Klicks finden kann, gehst du nicht ein.
 
Ich wüsste jetzt nicht was an MD5 so schlecht sein soll. Kommt ja auch noch der Salt hinzu.
Man kann auch in Wordpress ein anderes Hashverfahren verwenden, wenn man es unbedingt für nötig befindet.

$wpdb ist übrigens eine Instanz der Datenbankklasse. Finde es da nicht tragisch sowas global zu definieren.

Klar gibt es einige Sachen die nicht sauber gelöst worden sind. Aber das kommt alles mit der Zeit. Bei einem so verbreitetem System wie Wordpress kann man nicht alle Nutzer verkraulen indem man eine neue Version bringt die zu allen Themes und Plugins inkompatibel ist.
Meiner Meinung nach ist es besser wenn man nach und nach verbessert und alte Funktionen erstmal als Deprecated markiert und bspw nach 1-2 Jahren dann rauswirft, anstatt alles auf einen Schlag umzuwerfen.
Denn das sorgt nur dafür, dass viele bei der alten Version bleiben.
 
Der Weg den andere Systeme gingen, der des harten Schnitts, ist trotzdem der sinnvollere. Hat Joomla! auch nicht geschadet. War halt ein bisschen Arbeit für die Umstellung...
 
WhiteShark schrieb:
Ich wüsste jetzt nicht was an MD5 so schlecht sein soll. Kommt ja auch noch der Salt hinzu.
MD5+Salt ist immer noch deutlich schlechter als die Crypt-API. Die Frage ist einfach: Warum wird hier behauptet, dass man zu MD5 gezwungen wäre? Warum nicht einfach sagen: Ok, wir bieten die neue Version nicht mehr für PHP 5.2.4 an, dass eh niemand verwendet. Wir setzen jetzt 5.3 voraus.

$wpdb ist übrigens eine Instanz der Datenbankklasse. Finde es da nicht tragisch sowas global zu definieren.
Die Verwendung von Globals ist immer etwas unschön, vor allem in der Form.
Viel zweckmäßiger wäre es, wenn es hier eine klare Klassenstruktur geben würde, bei der solche Variablen vererbt werden können. Es gibt deutlich übersichtlichere Ansätze als "global". Spätestens beim Syntax Highlighting und Auto Complete fliegt dir das Ding dann um die Ohren.

Klar gibt es einige Sachen die nicht sauber gelöst worden sind. Aber das kommt alles mit der Zeit. Bei einem so verbreitetem System wie Wordpress kann man nicht alle Nutzer verkraulen indem man eine neue Version bringt die zu allen Themes und Plugins inkompatibel ist.
Contao hats gemacht, und die Userbase hat sich, wenn überhaupt, mit der 3er Serie nur nach oben verändert. Der Schnitt war ein absoluter Segen, Contao 3 ist ca. 50-80% performanter als das eh schon flotte 2.11, bei geilen neuen Features.
Joomla! hat so einen Cut hinter sich, und es ist ihm gut bekommen
Bei Typo3 gab es bereits einen "sanften" Cut. Wenn im nächsten Herbst der Support für die LTS 4.5(?) ausläuft, wird daraus ein harter Cut. Schaden wird es nicht.
Drupal dürfte auch schon so manchen Einschnitt hinter sich haben

Außerdem ist es ja nicht gerade so, dass alles funktionieren würde bei WP. Ich hab auch schon oft genug gesehen, wie ein Update inkompatibel zum Template ist und man dann schön gucken kann, woran es liegt oder woher man eine neue Template-Version kriegt.

Was hindert die WP-Entwickler daran, einfach mal eine LTS zu machen und dann zu sagen: Bis hier her und nicht weiter!
Die LTS kriegt dann für 18 Monate oder so ausschließlich Sicherheitsupdates und neuere Versionen laufen dann auf neuer, sauberer API und schleppen keinen Kompatibilitätszwang hinter sich her.
 
PHP 5.3 vorauszusetzen wäre weniger das Problem. Problem wäre eher das alle Passwörter nicht mehr funktionieren würden, wenn man von einer zur anderen Version die Hashs ändert. Das könnte man nur umständlich umgehen.
Was an MD5+Hash jetzt so tragisch sein soll ist mir da sowieso unklar.


Eine Rundumerneuerung heißt immer das viele User auf der alten Version bleiben, da eine Neuentwicklung der Webseite viel zu teuer ist. Und je weiter verbreitet das System ist, desto mehr haben dann eine alte Version.
Ein solcher Cut ist selten eine gute Lösung. Schleppt man halt Funktionen mit die in irgendeiner deprecated.php rumfliegen, stört auch nicht weiters.
 
So schwierig ist das mit den alten Passwörtern nicht. Du schreibst ne kleine Fallback-Funktion, die probiert, ob MD5+Salt funktioniert. Wenn ja -> Passwort neu hashen (und einloggen). Wenn nein -> anständige Crypt-Funktion ausprobieren und die entscheiden lassen, ob das PW stimmt.

WhiteShark schrieb:
Was an MD5+Hash jetzt so tragisch sein soll ist mir da sowieso unklar.
Die pure Geschwindigkeit von MD5. MD5 wurde geschrieben, um schnell zu sein. Die unglaublich geringe Komplexität sorgt dafür, dass Brute-Force extrem erfolgreich ist. Außerdem sind bereits seit '96 Kollisionen bewiesen.

Eine Rundumerneuerung heißt immer das viele User auf der alten Version bleiben, da eine Neuentwicklung der Webseite viel zu teuer ist. Und je weiter verbreitet das System ist, desto mehr haben dann eine alte Version.
Daten sind in der Datenbank. Man kann den PHP-Code komplett auf eine saubere Basis stellen, ohne die Datenbank umzustrukturieren.... nun, außer man hat bei der ursprünglichen DB-Struktur geschlampt.

Ein solcher Cut ist selten eine gute Lösung. Schleppt man halt Funktionen mit die in irgendeiner deprecated.php rumfliegen, stört auch nicht weiters.
Ich habe dir ein ganz paar Beispiele gebracht, wo es durchgezogen wurde bzw. im Falle von T3, aktuell wird und wo es eine verdammt gute Idee war/ist. Trotzdem bleibst du standhaft dabei, dass man viel lieber ewig und drei Tage alte Komponenten durchschleifen soll.
WP ist ein extremer Fall, hier ist eine wie ich finde verdammt verquere Dateistruktur und die Klassenstruktur ist furchtbar..... wenn denn mal was objektorientiert ist. So ziemlich jede Template-Datei besteht aus einem komplexen Wust aus echo's, hier existiert kaum eine Trennung zwischen Logik und Darstellung.
Das ist zu viel, um es mit einer einzelnen Sammel-Datei für deprecated-Funktionen zu lösen... nun, außer die Datei wäre wohl 7-8MB groß.
 
Zurück
Oben