PHP Classes

PHP Sandbox: Execute external PHP scripts in a separate process

Recommend this page to a friend!
     
  Info   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
StarStarStarStar 61%Total: 787 All time: 4,330 This week: 40Up
Version License PHP version Categories
php-sandbox 1GNU Lesser Genera...5.2PHP 5, Language
Description 

Author

This class can execute external PHP scripts in a separate process.

It uses PHP CLI version to execute a given external scripts as a separate process, so if it fails the calling script does not fail too.

The class provides options to change the root file system path before executing, pass GET, POST, COOKIE and SESSION variables, as well other PHP options like display_errors, memory_limit, max_execution_time, disable_functions, etc..

Innovation Award
PHP Programming Innovation award nominee
July 2011
Number 2


Prize: One subscription to the PDF edition of the PHP Architect magazine
Sometimes you may need to execute PHP scripts from third parties that you may not be able to trust, as such scripts can do something harmful.

This class provides a clever solution to execute untrusted PHP scripts by running them with the PHP cli program as a separate process.

It passes a separate set of values to request variables and changes the root of the file system, so the untrusted scripts do not have access to privileged information.

Clever approach to execute untrusted PHP scripts securely.

Manuel Lemos
Picture of Paul Fryer
Name: Paul Fryer <contact>
Classes: 1 package by
Country: United Kingdom
Age: ???
All time rank: 2681124 in United Kingdom
Week rank: 216 Up13 in United Kingdom Up
Innovation award
Innovation award
Nominee: 1x

Details

PHPSandbox A way to run external scripts from your core PHP files. Allows for running non-trusted PHP from with in your main PHP application. Allows the main script to continue should a fatal error occour in your incuded code. Supports: Function restrictions Enviroment obscurification Sessions Passing GET and POST param's INI settings protection Run's as a seperate process to protect the parent PHP script from crashs Prevent's interaction with the parent PHP Requirements: PHP 5.2+ (Only tested in PHP 5.3 currently) PHP CLI Notes: Only currently tested under Linux and OSX

  Files folder image Files (12)  
File Role Description
Files folder imagesamples (6 files)
Accessible without login Plain text file COPYING Lic. Copyright Information LGPL
Accessible without login Plain text file COPYING.LESSER Lic. LGPL
Accessible without login Plain text file example.php Example Example usage files
Accessible without login Plain text file phpsandbox-prepend.php Aux. An auto prepend file to configure the enviroment
Plain text file phpsandbox.php Class The main class
Accessible without login Plain text file README Doc. README file

  Files folder image Files (12)  /  samples  
File Role Description
  Accessible without login Plain text file invalid.php Data Invalid PHP file to fail lint test
  Accessible without login Plain text file malicious.php Data A sample malicious PHP file
  Accessible without login Plain text file recon.php Data An enviroment based PHP reconisence script
  Accessible without login Plain text file slow.php Data A sample script that runs longer than the time limit
  Accessible without login Plain text file trusted.php Data A trusted PHP script
  Accessible without login Plain text file valid.php Data A sample valid PHP file

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 0%
Total:787
This week:0
All time:4,330
This week:40Up
 User Ratings  
 
 All time
Utility:81%StarStarStarStarStar
Consistency:75%StarStarStarStar
Documentation:68%StarStarStarStar
Examples:68%StarStarStarStar
Tests:-
Videos:-
Overall:61%StarStarStarStar
Rank:983