Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:6664 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 47560 invoked by uid 1010); 21 Dec 2003 21:34:43 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 47536 invoked from network); 21 Dec 2003 21:34:43 -0000 Received: from unknown (HELO mx.thebrainroom.net) (65.200.24.98) by pb1.pair.com with SMTP; 21 Dec 2003 21:34:43 -0000 Received: by mx.thebrainroom.net (Postfix, from userid 517) id 400801488089; Sun, 21 Dec 2003 13:32:58 -0800 (PST) Received: from obsidian (zaneeb.thebrainroom.net [82.133.1.138]) by mx.thebrainroom.net (Postfix) with ESMTP id C29761488087; Sun, 21 Dec 2003 13:32:55 -0800 (PST) Message-ID: <01c601c3c80a$173eddd0$8802a8c0@obsidian> To: "Christian Schneider" , =?iso-8859-1?Q?ing.Martin_Pr=E1sek?= Cc: "Lukas Smith" , References: <006501c3c6f2$9002e540$d300a8c0@webpropag.cz> <3FE494B9.7090501@cschneid.com> <000b01c3c7e2$cc9ec780$d300a8c0@webpropag.cz> <3FE5EC3B.9060506@cschneid.com> Date: Sun, 21 Dec 2003 21:33:33 -0000 Organization: The Brain Room Ltd. MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 X-Spam-Status: No, hits=-0.7 required=5.0 tests=AWL,BAYES_30,REFERENCES version=2.55 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) X-TBR-Filter: Virus scanned and defanged Subject: Re: [PHP-DEV] Extending PHP with sandbox capability ? From: wez@thebrainroom.com ("Wez Furlong") A real sandbox mechanism is not likely to be implemented, at least, not for a very long time. Having needed something like this myself for a commercial project in the past, I settled on a "user-space sandbox" using the tokenizer extension to parse the code and filter out unsafe functions, rewrite "new" statements to prevent instantiation of certain classes, rewrite access to global variables and so on. Unfortunately, I don't own the code, so I cannot make it available. However, the thing to remember is that you can never make it 100% secure if you are executing anything that came from outside of your program. --Wez.