Neu neuer kostenloser Debugger für den Shop

Conny

Sehr aktives Mitglied
7. September 2009
583
65
Hi,

nachdem ich ein paar Dinge im JTL eigenen Debugger vermisst habe, habe ich mich hingesetzt und einen eigenen Debugger für den Shop entwickelt.

Ich würde mich freuen, wenn ihr den mal testen könntet und mir ein Feedback gebt.

Hier mal eine kurze (nicht vollständige) Übersicht:
✔ Aufruf jederzeit per Strg+Enter, Schließen mit Esc
✔ alle Variablen der Seite in einem Fenster
✔ nur für angemeldete Admins oder freigegebene IP-Adressen sichtbar
✔ Daten werden erst beim Öffnen nachgeladen, die Seite bleibt schlank
✔ Anzeige von
  • Smarty-Variablen und Smarty-Config
  • Request ($_GET, $_POST, $_FILES)
  • Session, Cookies und $_SERVER
  • statische Shop-Werte (Shop::$kArtikel, Seitentyp …)
  • PHP-Konstanten
✔ Suche über alle Bereiche nach Schlüssel, Wert oder Klasse
✔ Klick auf einen Schlüssel kopiert den Smarty-Pfad
✔ AJAX-Requests mitschneiden inklusive Response
✔ PHP-Fehler und Deprecations mit Stacktrace
✔ SQL-Abfragen mit Dauer, Aufrufer und N+1-Erkennung
✔ gefeuerte Hooks und lauschende Plugins
✔ Variablen von E-Mail-Vorlagen als Anhang
✔ phpinfo() im Fenster
✔ sensible Werte werden automatisch maskiert
✔ schaltet sich nach einstellbarer Zeit selbst ab
✔ verschiebbares, vergrößerbares Fenster mit Vollbild
✔ Darkmode-Darstellung, unabhängig vom Shop-Template
u.v.m.

https://blog.hennweb.de/ch-jtl-debugger/
 

NoOne

Sehr aktives Mitglied
16. März 2024
688
235
Die selbst deaktivierung finde ich gut, aber kompletter adminer und dateimanager in einem Plugin das permanent *installiert* bleibt ist schon trotzdem ein Restrisiko und erhöhung der Angriffsfläche. Es hatte schon seinen Grund warum JTL für ihr Debug-Plugin ausdrücklich empfohlen hat das *nicht* in einem produktiven Shop zu installieren und vor allem installiert zu lassen. Und das hatte nicht mal einen Datenbankeditor.

Oh und:
Sich automatisch mit den daten aus der config in den adminer einzuloggen ist bequem, aber du musst bedenken das jeder admin mit ausreichend rechten ein Plugin installieren kann. Auch ohne die FTP- und DB-Daten zu kennen. Auch wenn es unbequemer sein mag, wäre es vermutlich cleverer keine automatische Anmeldung zu haben. Ja ich weiß, wenn der Admin-Account kompromittiert ist und ein Admin ein Plugin installieren kann, dann kann er mit einem eigenen Plugin ohnehin alles auslesen, aber so reicht es schon wenn er einfach dein Plugin installiert, da braucht er kein anderes. Oder wenn es eben schon installiert ist. Ich würde hier eher zwei varianten anbieten. Debug-only und mit DB und Dateimanager. Denn für das meiste Frontend-Debugging braucht man erstmal keinen Schreibzugriff auf die DB. Und auch nicht auf das Dateisystem.
 
Zuletzt bearbeitet:

Conny

Sehr aktives Mitglied
7. September 2009
583
65
Hi @NoOne , vielen Dank für deine konstruktive Kritik. Für mich war es wichtig, dass wenn ich bei jemanden ein Problem lösen muss, ich nicht unterschiedliche Werkzeuge installieren muss. Ich habe versucht, den Debugger so sicher wie möglich zu erstellen, damit fremde keinen Zugriff haben. Trotzdem hast du natürlich Recht mit dem was du schreibst. Dein Vorschlag unterschiedliche Versionen anzubieten nehme ich gerne an. Ich werde das in Kürze gerne umsetzen.
VG Conny
 

Conny

Sehr aktives Mitglied
7. September 2009
583
65

CH JTL Debugger – Ein Schweizer Taschenmesser für JTL-Shop 5?​


wer regelmäßig mit JTL-Shop arbeitet, kennt das Problem: Ein Fehler taucht auf, eine CSS-Datei muss schnell angepasst werden, eine SQL-Abfrage dauert ungewöhnlich lange oder man möchte einfach wissen, was im Hintergrund des Shops passiert.

Genau dafür habe ich den CH JTL Debugger entwickelt.

Was ursprünglich als kleines Debugging-Werkzeug begann, ist inzwischen zu einer umfangreichen Sammlung von Entwickler- und Administrationswerkzeugen für JTL-Shop 5 geworden.

Und das Beste: Viele Aufgaben lassen sich direkt im Shop erledigen, ohne ständig zwischen FTP-Programm, Datenbankverwaltung, Logdateien und Browser-Entwicklertools wechseln zu müssen.

Highlight: Integrierter CH Filemanager 3.0.3​

Ein besonderes Feature ist der integrierte Dateimanager mit eigenem Code-Editor.

Was kann der Editor?

  • ✅ Dateien direkt im Browser öffnen, bearbeiten und speichern
  • ✅ Syntaxhervorhebung für verschiedene Dateitypen wie PHP, CSS und JavaScript
  • ✅ Zeilennummerierung für bessere Orientierung
  • ✅ Suchfunktion direkt im Editor über Button oder Strg + F
  • ✅ Text suchen und ersetzen
  • ✅ Alle Fundstellen auf einmal ersetzen
  • ✅ Suchleiste bei Nichtgebrauch ausblenden
  • ✅ Menüleiste beim Scrollen fixieren (Sticky-Funktion)
  • ✅ Einstellbare Tabulatorbreite
  • ✅ Dateien unter einem anderen Namen speichern
  • ✅ Neue Versionsdateien mit Zeitstempel erstellen
  • ✅ Anzeige von Dateigröße, Dateityp, Encoding und Backup-Anzahl
  • ✅ Vollbildmodus für komfortables Arbeiten
  • ✅ Verschiebbares und skalierbares Editorfenster
  • ✅ Automatische Speicherung der Sticky-Einstellung im Browser
Gerade für kleine CSS- oder JavaScript-Anpassungen kann das eine enorme Erleichterung sein.

🔍 Aber der Debugger kann noch viel mehr!​

Fehleranalyse und Performance

  • PHP-Fehler, Warnungen und Hinweise untersuchen
  • SQL-Abfragen einschließlich Laufzeiten analysieren
  • Langsame Datenbankabfragen identifizieren
  • PHP-Profiling zur Laufzeitanalyse
  • Hooks und deren Listener untersuchen
  • Aufrufinformationen und Stacktraces anzeigen
  • Informationen über Shop, PHP und Server abrufen
Entwicklerwerkzeuge

  • Smarty-Templates und mögliche Überschreibungen untersuchen
  • Variablen und Debugging-Informationen anzeigen
  • E-Mail-Debugging mit verfügbaren Template-Variablen
  • Datenbank durchsuchen
  • Shop- und Template-Dateien überprüfen
Administration und Wartung

  • Integrierte Adminer-Datenbankverwaltung
  • Cache- und Wartungsfunktionen
  • System-Selbsttest
  • Logdateien untersuchen
  • Backup- und Restore-Funktionen für Datenbank, Konfiguration, Bilder, Templates und Webspace
  • Update-Prüfung für neue Plugin-Versionen

Debugger direkt im Frontend öffnen​

Eine weitere praktische Funktion:

Strg + Enter drücken und das Debug-Fenster öffnen.

Das Fenster lässt sich verschieben, in der Größe verändern und maximieren. Die Standardbreite beträgt bis zu 1200 Pixel.

So können Shopbetreiber und Entwickler die Informationen direkt während der Arbeit im Shop aufrufen.

​

Sicherheit nicht vergessen​

Die Verwaltungsfunktionen sind für berechtigte Administratoren vorgesehen. Bestimmte Funktionen arbeiten mit geschützten Zugriffen und Tokens.

Natürlich gilt: Wer produktive Dateien oder Datenbanken verändert, sollte vorher immer eine unabhängige Sicherung erstellen.

Donationware​

Der CH JTL Debugger ist ein Donationware-Projekt.

Die Entwicklung erfolgt aus Interesse an JTL-Shop und mit dem Ziel, alltägliche Aufgaben für Shopbetreiber und Entwickler zu vereinfachen.

Wer das Projekt unterstützen möchte, kann dies freiwillig mit einer kleinen Spende tun.

​

Aktuelle Version: CH JTL Debugger 1.5.5​

Der Funktionsumfang wächst kontinuierlich. Neue Funktionen und Verbesserungen entstehen auch aus praktischen Anforderungen bei der täglichen Arbeit mit JTL-Shop.

Mich würde eure Meinung interessieren:

  • Welche Debugging-Funktionen vermisst ihr in JTL-Shop?
  • Welche Werkzeuge würdet ihr euch noch wünschen?
  • Nutzt ihr für Dateiänderungen und Fehleranalysen lieber externe Programme oder direkt integrierte Lösungen?
Ich freue mich über Feedback, Ideen und Verbesserungsvorschläge!

Viele Grüße

Conny 🦖

Aktueller Download:
https://blog.hennweb.de/ch-jtl-debugger/
 
Zuletzt bearbeitet:

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.811
839
Danke für das Plugin, nach 15min hab ich es leider nicht geschafft, dem Debugger mit STRG+Enter zu starten 🙁

Kann man nicht einen Button einblenden, sobald man mit Admin im Backend angemeldet ist?
 

Conny

Sehr aktives Mitglied
7. September 2009
583
65
Ich habe eine neue Version freigegeben, welche oben rechts einen Button anzeigt (nur wenn man im Backend als Admin angemeldet ist)
Bitte beachte, dass sich aus Sicherheitsgründen das Plugin autom. nach der im Backend eingestellten Zeit komplett deaktiviert. Du musst dann das
Plugin erst wieder aktivieren und dann in den aktivierten Plugins den Eintrag suchen um die Aktualisierung zu aktivieren.
 
  • Gefällt mir
  • Ich liebe es
Reaktionen: wawi-dl und ple

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.811
839
Bin einen Schritt weiter, danke ... da haben wir sogar direkt was gefunden.

Nur, warum wird an so vielen Stellen "Nur für Administratoren." angezeigt, obwohl wir im Backend angemeldet sind?
Wartungsmodus ist aus, sonst sehen wir die Seite nicht.

Zudem werden Ordner wegen Schreibrechte bemängelt, wobei diese mMn so von JTL vorgegeben sind.
 

Conny

Sehr aktives Mitglied
7. September 2009
583
65
Nur, warum wird an so vielen Stellen "Nur für Administratoren." angezeigt, obwohl wir im Backend angemeldet sind?
Wartungsmodus ist aus, sonst sehen wir die Seite nicht.

Zudem werden Ordner wegen Schreibrechte bemängelt, wobei diese mMn so von JTL vorgegeben sind.
Kannst du mir mal einen Screenshot schicken an welchen Stellen überall "Nur für Administratoren" steht. (wenn du willst auch direkt per Mail - steht ja im Plugin)
Auch das mit dem Wartungsmodus kann ich noch nicht ganz nachvollziehen.