Chcę wykonać skrypt php z php, który będzie używać różnych stałych i różnych wersji klas, które są już zdefiniowane.Czy istnieje sposób na wykonanie kodu php w piaskownicy z poziomu php
Czy istnieje php_module piaskownicy gdzie mogę po prostu:
sandbox('script.php'); // run in a new php environment
zamiast
include('script.php'); // run in the same environment
Albo jest proc_open() jedyna opcja?
PS: Skrypt nie jest dostępny przez Internet, więc fopen ('http://host/script.php') nie jest opcją.
O runkicie; nie wygląda na to, że piaskownica wygląda dobrze według opisu, a może powinienem powiedzieć, że jest to łatwe. Możesz zabronić używania funkcji, ale wolałabym zabronić WSZYSTKICH, oprócz tych, które znajdują się na podanej liście. Jeśli użytkownik potrzebuje funkcji, mogę ocenić jego bezpieczeństwo ręcznie na żądanie. Wygląda na to, że jedynym sposobem jest napisanie własnego interpretatora. Jeśli prędkość jest problemem, możesz przekonwertować jej AST na PHP lub inny język, to jest to, co teraz zrobię, ponieważ nie mogłem znaleźć gotowego rozwiązania. Pozdrawiam! Ps. Tak, widziałem, że ten Q jest stary. Ds. – Frank
Cóż .. Powodzenia ze znalezieniem czegoś, co może sparsować PHP na AST;) Zgadzam się jednak z twoim punktem. – troelskn
Runkit FYI wydaje się być porzucony i prawdopodobnie będziesz chciał skompilować wersję CVS lub jedną z poprawionych wersji (http://github.com/tricky/runkit), jeśli chcesz uruchomić ją na nowoczesnej wersji PHP – Eli