Dies ist das Archiv zu der Kategorie 'Wordpress'.

WordPress wp_postmeta aufräumen

Abgelegt unter Wordpress am 21.10.2024

Wenn man Pech hat, räumen Plugins als auch WordPress nicht vollständig nach dem Löschen auf.

In dem aktuellen Fall nur so 5 Mio. Einträge…

Wie kann man nachgucken, ob wp_postmeta grundlegend sauber ist (also nicht noch Reste von gelöschten Posts drin hat)?

SELECT * FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID=pm.post_id WHERE wp.ID IS NULL;

Sollte das Ergebnisse zeigen, et voila, können mit:

DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID=pm.post_id WHERE wp.ID IS NULL;

dann auch gleich entsorgt werden.

Selbstverständlich empfiehlt es sich IMMER, vorher ein Backup anzufertigen…


Kodeo Admin UI – oder wir fangen das Programmieren vielleicht doch noch mal von vorne an… *seufz*

Abgelegt unter Aufklärung, Code, Nightshift, Wordpress am 10.12.2022

Es gibt Tage, die laufen nicht so optimal, und es gibt Tage da gerät man an Menschen die frei von der Leber einfach Quark ins WordPress-Repository kippen und dann noch stolz drauf sind.
Nennt sich dann Kodeo Admin UI.

Davon mal abgesehen, das man dort so verantwortungsvoll war, und als Author-URL kodeo.io genannt hat…
(Screener aus dem Source hier, nicht das sich das durch Geisterhand wieder ändert…)
Ist natürlich nicht mehr deren URL (sondern meine), aber ist natürlich klasse, könnte ich einfach deren Seite klonen, und wenn jemand aus dem Backend dann auf die URL klickt, zack, Identitätsdiebstahl perfekt. Und natürlich gäbe es ja dann auch die Möglichkeit mit dem Update-Mechanismus…

Aber darum geht es in diesem Falle gar nicht.
Wird besser.

Aus aktuellem Anlass muß ich leider Code auditieren, und das ist immer kostenintensiv weil kostet Zeit. MEINE Zeit.
Wenn man dann aber ein Plugin hat, bei dem einen schon in der zweiten Datei das Grausen kommt, dann auditiert man ungern weiter. Man weiß ja, kann nur besser werden (und wurde es dann auch).

Nun gut, präventiv auf wordpress.org einen entsprechenden Kommentar dagelassen. Zugegeben, nicht freundlich. Ich habe aber Wichtigeres zu tun als Stümpern in Kuschelsprache zu erklären wie grundlegend sie verkacken.

Die Antwort läßt nicht lange auf sich warten, und daher auch diese als Screenshot hier.

Tja, dann machen wir doch mal einen offiziellen CVE draus, zumindest für den einen so offensichtlichen Dreck den man da programmiert hat. Vielleicht auch gleich ein Exploit, dann ist auch der Update-Druck da… (hier noch das auditierte Plugin in der Version 1.1.9.2, zuletzt vor 2 Jahren aktualisiert)
Eigentlich sollte ich noch weiter reviewen, da die ja auch bei einem anderen WordPress-Plugin mit involviert waren.

Und dreimal darf man raten, ob diese Web-Bastler-Klitsche ein gültiges Impressum hat? Da könnten sich deren Mitbewerber schon gütlich tun…
(Screener)

EINMAL MIT PROFIS ARBEITEN…

Nachtrag 13.12.2022:
abandoned plugin

Macht natürlich keinen Unterschied, außer das es jetzt wohl keinen CVE gibt… aber mal sehen. Ist natürlich nicht so, das von dort keine anderen Meisterleistungen gekommen sind, respektive die nicht noch woanders mitentwickelt haben. Vielleicht auditiere ich dort dann mal in einer ruhigen Minute weiter… 😉
Schließlich soll das hier ja nicht leer bleiben…


bp_setup_current_user und $wp->init() …

Abgelegt unter Code, Wordpress am 21.04.2015

So, es ist ja immer wieder sehr schön, auf bestehende CMS oder Frameworks aufzusetzen.

Weniger schön ist es, wenn die Fehlermeldungen so herrlich nichtssagend sind, und das Debuggen dann zur Qual wird.

Für alle, die nach:

Notice: bp_setup_current_user wurde fehlerhaft aufgerufen. Der aktuelle Benutzer wird ohne Verwendung von $wp->init() initialisiert.

oder dem englischen Pendant:

Notice: bp_setup_current_user was called incorrectly. The current user is being initialized without using $wp->init().

suchen: meistens ist die functions.php im aktuellen Theme schuld.

Quick-Check:
Standard-Theme von WordPress aktivieren -> Fehler weg -> Theme schuld
Davor sollte man natürlich auch die einzelnen Plugins deaktivieren, und so den Schuldigen finden; bei einem Theme wird es jedoch schon schwieriger, da die auslösende Funktion zu finden…

Typischerweise wird in der functions.php irgendeine Benutzerberechtigung abgefragt a la:

if (!current_user_can('manage_options')) {
add_filter('show_admin_bar', '__return_false');
}

Schuld ist dann natürlich:
current_user_can

Na denn, für alle, die auch ein sauberes Errorlog wünschen… 🙂



blog powered by wordpress
Design by Office and IT - Business Solutions
Optimiert durch suchmaschinen-freundlich