Häufig gestellte Fragen

Wenn deine Frage hier fehlt, schreib mir gerne über das Impressum.

Ist das echte Verschlüsselung?
Nein. Es ist Obfuscation — Verschleierung. Alle vier Stufen sind reversibel, wenn jemand sich genug Zeit nimmt. Der Zweck ist: niemand sieht beim Öffnen sofort den Klartext. Wer aber einen Debugger ansetzt oder die eval()-Calls abfängt, kommt an den Originalcode.
Wird mein Code gespeichert?
Nein. Der Code wird ausschließlich im Arbeitsspeicher des Servers verarbeitet und sofort verworfen. Es gibt kein Logging der eingegebenen Inhalte. Anfragen werden nur per IP-Hash für Rate-Limiting gezählt (gelöscht nach 60 Sekunden).
Funktioniert der verschleierte Code auf jedem Server?
Voraussetzungen für die höheren Stufen:
  • PHP 7.4 oder neuer
  • Funktion gzinflate() verfügbar (Standard, fast immer dabei)
  • Funktion eval() nicht via disable_functions in der php.ini blockiert
Stufe 1 (Basic) hat keine dieser Anforderungen — sie ändert nur Namen und Whitespace.
Wird mein Code langsamer durch die Verschleierung?
Minimal. Bei Stufen 2–4 entsteht beim ersten Aufruf ein einmaliger Decoding-Overhead (typischerweise < 5 ms). Auf modernen Servern mit OPcache ist das in der Praxis nicht spürbar — OPcache kann allerdings das eval()-Ergebnis nicht cachen, was bei sehr großen Skripten messbar wird.
Kann ich verschleierten Code wieder dekodieren?
Ja, mit Aufwand. Es gibt frei verfügbare Tools (z. B. UnPHP, PHP Deobfuscator), die viele gängige Schemata automatisch zurückbauen. Stufe 1 ist trivial reversibel, Stufe 4 erfordert manuelle Analyse. Plane das Tool also nicht als Schutz für wirklich kritische Geheimnisse.
Gibt es eine Größenbeschränkung?
Aktuell 500 KB pro Datei. Für größere Projekte empfehle ich die API mit Datei-Splitting.
Was passiert mit __halt_compiler() oder eingebetteten Binärdaten?
Wird derzeit nicht unterstützt. Skripte mit angehängten Binärdaten (z. B. selbstextrahierende PHP-Archive) sollten nicht durch den Protector laufen — Stufen 2–4 würden die Daten verlieren. Stufe 1 funktioniert hier noch.
Funktioniert das auch mit Frameworks wie Laravel oder Symfony?
Einzelne Dateien ja — ganze Projekte aber nur eingeschränkt. Class-Autoloader vertragen die Stufen 2–4 nicht gut, weil Composer Reflection auf die Klassennamen macht. Empfehlung: nur einzelne sensible Dateien (z. B. LicenseService.php) verschleiern, nicht den kompletten app/-Ordner.
Ist die Nutzung kostenlos?
Ja, vollständig kostenfrei und ohne Account-Pflicht. Die API ist auf 30 Requests/Minute pro IP begrenzt.