Affiliate-Toolkit 3.8.6: Warum wir das Template-Rendering geändert haben

Mit Version 3.8.6 des affiliate-toolkit haben wir eine sicherheitsrelevante Änderung am Template-Rendering eingeführt. Da diese Änderung bestehende Installationen betreffen kann und im Changelog nicht prominent genug kommuniziert wurde, fassen wir hier den Hintergrund, die Auswirkungen und die nötigen Schritte zusammen.

Was sich geändert hat

Ab Version 3.8.6 wird reiner PHP-Code – also alles innerhalb von <?php … ?>-Blöcken – vor dem Blade-Rendering automatisch aus den Templates entfernt und nicht mehr ausgeführt. Erlaubt ist ausschließlich die Blade-Vorlagensyntax.

Warum wir das gemacht haben

Das affiliate-toolkit wurde vom WordPress.org Plugin Review Team wegen einer Sicherheitslücke vorübergehend aus dem Plugin-Directory entfernt. Die Möglichkeit, beliebigen PHP-Code über Templates auszuführen, war Teil des Problems.

Die Sanitization in 3.8.6 ist der Fix, der das Plugin wieder in das Directory zurückgebracht hat. Diese Änderung war nicht optional – ohne sie wäre das Plugin aktuell nicht mehr offiziell verfügbar.

Wen das betrifft

Wer ausschließlich mit den Standard-Templates und Standard-Ausgaben arbeitet, muss in der Regel nichts tun. Betroffen sind Installationen mit eigenen Templates oder Snippets, die PHP-Code enthalten – etwa für individuelle Produktboxen, Offer-Listen oder AJAX-Ausgaben. In diesen Fällen können Ausgaben unvollständig oder leer sein, bis die Templates umgestellt sind.

Typische Symptome:

  • Produktboxen bleiben leer
  • More-Offers oder Detail-Offers werden nicht mehr angezeigt
  • AJAX-basierte Produktanzeigen laden keine Daten
  • Eigene Snippets brechen ohne sichtbare Fehlermeldung

Migration auf Blade-Syntax

Die häufigsten Konstrukte lassen sich 1:1 ersetzen:

<?php echo $var; ?>                   →  {{ $var }}
<?php if (...): ?> … <?php endif; ?>  →  @if(...) … @endif
<?php foreach (...): ?> … endforeach  →  @foreach(...) … @endforeach
<?php echo esc_html($x); ?>           →  {{ $x }}        (escaping ist Default)
<?php echo $raw; ?>                   →  {!! $raw !!}    (unescaped, nur bei vertrauenswürdiger Quelle)

Für Fälle, in denen Blade nicht ausreicht – etwa eigene Helper-Funktionen, komplexere Berechnungen oder externe API-Aufrufe – ist der vorgesehene Weg ein eigener Filter oder Hook in einem Child-Plugin oder im Theme, nicht PHP direkt im Template.

Warum der kursierende Hotfix keine Lösung ist

Im Support-Forum kursiert ein Hotfix, der die Sanitization durch Auskommentieren einer einzelnen Zeile (self::sanitize_template_content()) deaktiviert. Davon raten wir ausdrücklich ab.

Wer das macht, öffnet die ursprüngliche Sicherheitslücke auf seiner Installation wieder vollständig. Damit lässt sich über Template-Inhalte – auch indirekt, etwa über importierte oder geteilte Templates – beliebiger PHP-Code ausführen. Das ist kein theoretisches Risiko, sondern genau der Grund, warum das Plugin gesperrt war.

Wer den Hotfix einsetzt, übernimmt die volle Verantwortung für die daraus entstehenden Sicherheitsrisiken auf seiner Seite.

Was wir besser machen

Eine Änderung mit derartigen Auswirkungen auf bestehende Templates hätte prominent im Changelog stehen müssen und nicht nur als Hinweis im Template-Editor. Das war ein Kommunikationsfehler, für den wir uns bei allen betroffenen Nutzern entschuldigen. Für künftige Sicherheits-Releases stellen wir die Release-Kommunikation entsprechend um.

Hallo 👋

wir möchten dich frühzeitig über eine wichtige Änderung bei affiliate-toolkit informieren.
Ab 15. November 2025 stellen wir unser Lizenzsystem und die Preisstruktur um.


🔄 Warum das notwendig ist

affiliate-toolkit gibt es seit vielen Jahren – mit viel Herzblut, aber zuletzt mit zu geringen Einnahmen, um das Projekt dauerhaft weiterzuentwickeln.
Damit wir wieder regelmäßig Updates, neue Funktionen und schnellen Support anbieten können, passen wir Preise und Lizenzmodell an.


💰 Was sich konkret ändert

Neue Preisstruktur ab 15. November

Die Jahreslizenzen werden leicht erhöht, um den laufenden Entwicklungs- und Supportaufwand zu decken.
Zusätzlich gibt es künftig monatliche Abos – ideal für alle, die flexibler bleiben möchten.
Lifetime-Lizenzen entfallen vollständig. Bestehende Lifetime-Kunden behalten selbstverständlich ihren Zugang.


⚙️ Neue Lizenzbedingungen

Ab dem 15. November funktioniert affiliate-toolkit nur noch mit aktiver Lizenz vollständig.
Wenn eine Lizenz abläuft:

  • Das Backend (Admin-Bereich) wird eingeschränkt.
  • Bestehende Produkte bleiben im Frontend sichtbar, aber:
    • keine Updates
    • kein Daten-Sync
    • kein Support
    • kein Zugriff auf erweiterte Backend-Funktionen

Damit ist sichergestellt, dass nur aktive Lizenzen weiterhin von der Weiterentwicklung profitieren.


🧩 Bestandsschutz für treue Kunden

Wenn du vor dem 15. November 2025 eine Lizenz kaufst und dein automatisches Renewal aktiv lässt,
bleibst du dauerhaft im bisherigen Modell – zu deinen bisherigen Preisen.
👉 Du wirst von der Umstellung nicht betroffen.

Nur wer seine Lizenz kündigt oder später manuell erneuert,
gilt als Neukunde und fällt automatisch unter die neuen Preise und Bedingungen.


📊 Beispiel zur Orientierung

Planbisherab 15. Nov 2025Neu monatlich
Niche Pass69 €/Jahr99 €/Jahr9,90 €/Monat
Extended Pass149 €/Jahr199 €/Jahr19 €/Monat
Pro Pass239 €/Jahr299 €/Jahr29 €/Monat
All Access499 €/Jahr699 €/Jahr59 €/Monat

(Beispiele zur Orientierung, genaue Preise folgen bei der Umstellung.)


❤️ Warum das fair ist

Wir wollen Bestandskunden schützen, das Projekt sichern und weiterentwickeln –
statt es irgendwann einstellen zu müssen.
Diese Umstellung ermöglicht es uns, affiliate-toolkit langfristig stabil, aktuell und leistungsfähig zu halten.

Danke, dass du affiliate-toolkit nutzt und uns unterstützt 🙏
Bei Fragen melde dich gerne direkt – wir beantworten alles transparent.


Dein affiliate-toolkit Team

In letzter Zeit haben wir einige Rückfragen erhalten, da unser Plugin vor kurzem im WordPress-Verzeichnis gesperrt wurde. Grund dafür war ein Sicherheitsproblem, das den internen Pfad Ihrer WordPress-Installation öffentlich zugänglich machte.

Was ist passiert?

Das Problem wurde durch einige veraltete Dateien verursacht, die noch im WordPress SVN Repository gespeichert waren, jedoch in der aktuellen Version des Plugins nicht mehr genutzt werden. Diese Dateien wurden versehentlich nicht entfernt und haben letztlich zu der Sicherheitslücke geführt.

Leider hat uns die Sperrung des Plugins während der Urlaubszeit überrascht, weshalb unsere Reaktionszeit etwas länger war als gewöhnlich.

Lösung des Sicherheitsproblems

Wir haben das Sicherheitsproblem umgehend behoben und eine neue Version des Plugins bereitgestellt, die Sie hier herunterladen können:

Download der aktualisierten Version

Wie geht es weiter?

Obwohl das Sicherheitsproblem gelöst ist, wird das Plugin derzeit noch nicht wieder im WordPress-Verzeichnis gelistet. Bevor es wieder verfügbar ist, müssen wir den Code an einigen Stellen überarbeiten. Dabei handelt es sich allerdings nicht um neue Sicherheitsprobleme, sondern um eine Überprüfung des bestehenden Codes. Diese Überarbeitung ist eine Voraussetzung, um wieder im Verzeichnis gelistet zu werden und sicherzustellen, dass das Plugin den aktuellen Anforderungen des WordPress-Review-Teams entspricht.

Wir danken Ihnen für Ihr Verständnis und Ihre Geduld. Wir arbeiten mit Hochdruck daran, das Plugin so schnell wie möglich wieder im Verzeichnis verfügbar zu machen. In der Zwischenzeit empfehlen wir Ihnen, die bereitgestellte Version herunterzuladen und zu nutzen.

Sollten Sie Fragen oder Feedback haben, stehen wir Ihnen wie immer gerne zur Verfügung.

Ihr affiliate-toolkit Team

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram