Hi!
Dann hätte man jedoch zwei unterschiedliche Scopes und auch zu entscheiden, welche globale und vor allem superglobale Variablen man der Sandbox zur Verfügung stellt. Wobei - das Problem mit den Variablen hat man auch in der Variante, dass jeder Funktionsaufruf selbst testet.
Und wenn wir schon die Variablen betrachten, so muss man nicht nur für die sichtbaren eine Lösung finden, sondern auch die unsichtbaren nicht aus dem Auge verlieren. Beispielsweise nehmen sich einige mysql_*()-Funktionen, wenn man ihnen keine Verbindungskennung mitgibt, die erstbeste, die bereits geöffnet ist. Und darüber kann Sandbox-Code, ohne dass es die Zugangsdaten über die sichtbaren Variablen in Erfahrung bringen muss, auf den Datenbestand zugreifen. Das ist also noch eine weitere Baustelle, die (meiner Ansicht nach) recht tief in den PHP-Code eingreift. Ich denke nicht, dass das je mehr als ein Gedankenexperiment wird.
Lo!