PHP Sandbox: Schutzklasse für Eure Anwendung
Kommentare

Mit der PHP Sandbox will Elijah Horton ein sehr altes Manko in der PHP-Welt beseitigen: Seine gleichnamige Klasse fängt aufrufbare Funktionen ein, und demontiert sie mit Jeremy Lindbloms FunctionParser.

Mit der PHP Sandbox will Elijah Horton ein sehr altes Manko in der PHP-Welt beseitigen: Seine gleichnamige Klasse fängt aufrufbare Funktionen ein, und demontiert sie mit Jeremy Lindbloms FunctionParser. Auf diese Art lassen sie sich in einem Schutzraum ausführen, ohne sie vorher in einen String umzuwandeln.

Welche Funktionen dabei zulässig sind, und welche eine Warnung triggern sollen, liegt im Ermessen des verantwortlichen Entwicklers. Er kann über Whitelists die PHPSandbox so konfigurieren, dass sie in seiner Umgebung nützlich wird. In Reddit erklärt Horton dazu:

Before the code runs, PHPParser reads the entire input code. If it fails parsing an exception is thrown. Then it checks for dynamically-defined function names, variable variables, etc. and throws an exception if anything is not identified by a simple string. Then it checks every function call, class, constant, global, superglobal, magic constant, keyword, and even operator against user-defined whitelists and blacklists. Essentially, if you don’t want the code to use it, you can lock it down. On the other hand, you are free to define and create a sandboxed environment for the code free from any outside functions, classes, variables, etc.

Derzeit befindet sich die PHP Sandbox noch im Teststadium. Besonders gilt es zu testen, ob es möglich ist, Sandbox-Code aus der Schutzklasse herauszuholen und auf globaler Ebene auszuführen. Denn dann wäre der eigentliche Zweck verfehlt, bestehende Funktionen und Variablen vor dem Überschreiben oder Verändern zu schützen.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -