RE: [PHP] Restrict uploaded scripts

2006-06-10 Thread Mathias Bundgaard Svesson
Would it then be posible to restrict it in some other way, for example
using chroot? Or do I just have to make sure that the modules come from
a source that I trust or look through the code?

fre, 09 06 2006 kl. 10:47 -0400, skrev Jim Moseby:
  
  Wouldn't it even be posible, if the script couldn't be run 
  directly, but
  had to be run through require or something like that?
  
 
 Require just includes the code inline.  It still runs on the webserver as
 the server user as if it were one big script.  I think you would have to
 sanitize the uploaded code before allowing it to run.  Writing the
 sanitation algorithm to perform such a task would be a nightmare.
 
 JM

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Restrict uploaded scripts

2006-06-09 Thread tedd
Mathias:

So what's wrong with either naming each file with a unique name or placing each 
file in a unique folder? If it's unique, then how can they overwrite it?

I must not be understanding what you want.

tedd



At 7:24 AM +0200 6/9/06, Mathias Bundgaard Svesson wrote:
Wouldn't they still be able to overwrite each other?
I don't think I expressed myself clearly. The point of the protection is
to keep the scripts from overwriting each other on purpose. It was a
protection that would make it posible to upload scripts, even if you
were not completly sure they were safe.

tor, 08 06 2006 kl. 17:30 -0400, skrev tedd:
 At 10:37 PM +0200 6/8/06, Mathias Bundgaard Svesson wrote:
 Restrict them not to overwrite other modules or overwrite the CMS
 itself. Each module should have it's own directory, and it shouldn't be
 allowed to change anything outside it.
 
 tor, 08 06 2006 kl. 21:49 +1000, skrev chris smith:
  On 6/8/06, Mathias Bundgaard Svesson [EMAIL PROTECTED] wrote:
   Hi!
   I'm trying to create a CMS where it should be posible to upload script
   modules. Those modules should mostly be made by myself, but it is
   posible for others to create scripts too. My question is, is it posible
   to restrict the modules to their own directory so they don't overwrite
some of the other modules or the CMS itself?

 Mathias:

 Well then, how about this?

 You can create a uniquely named id by using:

 $unique_id = md5(uniqid(microtime(), true));

 and then use that name as a folder for each person submitting scripts OR use 
 the unique id as a suffix for their cms file. Either way, it should stop 
 persons from overwriting cms files.

 I would also suggest that you keep track of these id's in a dB. If you are 
 still concerned about two people having the same unique, then you could 
 search the dB to see if the recently created id exist. If it does, then 
 generate another one.

 I use a similar method for making sure that the images I upload have unique 
 names.

 hth's

 tedd





-- 

http://sperling.com  http://ancientstones.com  http://earthstones.com

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



RE: [PHP] Restrict uploaded scripts

2006-06-09 Thread Jim Moseby
 
 Wouldn't they still be able to overwrite each other?
 I don't think I expressed myself clearly. The point of the 
 protection is
 to keep the scripts from overwriting each other on purpose. It was a
 protection that would make it posible to upload scripts, even if you
 were not completly sure they were safe.
 

So, you are concerned that someone will write a script that when RUN could
purposely overwrite some other files.  If I had people uploading their own
code to my server, I would be concerned as well. In fact, 'concerned' is not
quite a strong enough word.

As far as I know, when the uploaded script runs, it will have all the same
permissions that the user the webserver runs as has. So there would be no
(easy) way to control the possibility that it will overwrite files, add
records to your database, launch an attack on another host, send 100,000
spam messages to the whitehouse, download porn and email it to your
minister, etc, etc, etc...

JM

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



RE: [PHP] Restrict uploaded scripts

2006-06-09 Thread Mathias Bundgaard Svesson
Wouldn't it even be posible, if the script couldn't be run directly, but
had to be run through require or something like that?

fre, 09 06 2006 kl. 08:38 -0400, skrev Jim Moseby:
  
  Wouldn't they still be able to overwrite each other?
  I don't think I expressed myself clearly. The point of the 
  protection is
  to keep the scripts from overwriting each other on purpose. It was a
  protection that would make it posible to upload scripts, even if you
  were not completly sure they were safe.
  
 
 So, you are concerned that someone will write a script that when RUN could
 purposely overwrite some other files.  If I had people uploading their own
 code to my server, I would be concerned as well. In fact, 'concerned' is not
 quite a strong enough word.
 
 As far as I know, when the uploaded script runs, it will have all the same
 permissions that the user the webserver runs as has. So there would be no
 (easy) way to control the possibility that it will overwrite files, add
 records to your database, launch an attack on another host, send 100,000
 spam messages to the whitehouse, download porn and email it to your
 minister, etc, etc, etc...
 
 JM
 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



RE: [PHP] Restrict uploaded scripts

2006-06-09 Thread Jim Moseby
 
 Wouldn't it even be posible, if the script couldn't be run 
 directly, but
 had to be run through require or something like that?
 

Require just includes the code inline.  It still runs on the webserver as
the server user as if it were one big script.  I think you would have to
sanitize the uploaded code before allowing it to run.  Writing the
sanitation algorithm to perform such a task would be a nightmare.

JM

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] Restrict uploaded scripts

2006-06-08 Thread Mathias Bundgaard Svesson
Hi!
I'm trying to create a CMS where it should be posible to upload script
modules. Those modules should mostly be made by myself, but it is
posible for others to create scripts too. My question is, is it posible
to restrict the modules to their own directory so they don't overwrite
some of the other modules or the CMS itself?
The php scripts should prefeable be used through require or similar, not
by a direct web request to the script.


Mathias Bundgaard Svensson

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Restrict uploaded scripts

2006-06-08 Thread chris smith

On 6/8/06, Mathias Bundgaard Svesson [EMAIL PROTECTED] wrote:

Hi!
I'm trying to create a CMS where it should be posible to upload script
modules. Those modules should mostly be made by myself, but it is
posible for others to create scripts too. My question is, is it posible
to restrict the modules to their own directory so they don't overwrite
some of the other modules or the CMS itself?


Restrict them to do what exactly?

--
Postgresql  php tutorials
http://www.designmagick.com/

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Restrict uploaded scripts

2006-06-08 Thread Mathias Bundgaard Svesson
Restrict them not to overwrite other modules or overwrite the CMS
itself. Each module should have it's own directory, and it shouldn't be
allowed to change anything outside it.

tor, 08 06 2006 kl. 21:49 +1000, skrev chris smith:
 On 6/8/06, Mathias Bundgaard Svesson [EMAIL PROTECTED] wrote:
  Hi!
  I'm trying to create a CMS where it should be posible to upload script
  modules. Those modules should mostly be made by myself, but it is
  posible for others to create scripts too. My question is, is it posible
  to restrict the modules to their own directory so they don't overwrite
  some of the other modules or the CMS itself?
 
 Restrict them to do what exactly?
 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Restrict uploaded scripts

2006-06-08 Thread tedd
At 10:37 PM +0200 6/8/06, Mathias Bundgaard Svesson wrote:
Restrict them not to overwrite other modules or overwrite the CMS
itself. Each module should have it's own directory, and it shouldn't be
allowed to change anything outside it.

tor, 08 06 2006 kl. 21:49 +1000, skrev chris smith:
 On 6/8/06, Mathias Bundgaard Svesson [EMAIL PROTECTED] wrote:
  Hi!
  I'm trying to create a CMS where it should be posible to upload script
  modules. Those modules should mostly be made by myself, but it is
  posible for others to create scripts too. My question is, is it posible
  to restrict the modules to their own directory so they don't overwrite
   some of the other modules or the CMS itself?

Mathias:

Well then, how about this?

You can create a uniquely named id by using:

$unique_id = md5(uniqid(microtime(), true));

and then use that name as a folder for each person submitting scripts OR use 
the unique id as a suffix for their cms file. Either way, it should stop 
persons from overwriting cms files.

I would also suggest that you keep track of these id's in a dB. If you are 
still concerned about two people having the same unique, then you could search 
the dB to see if the recently created id exist. If it does, then generate 
another one.

I use a similar method for making sure that the images I upload have unique 
names.

hth's

tedd



-- 

http://sperling.com  http://ancientstones.com  http://earthstones.com

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Restrict uploaded scripts

2006-06-08 Thread Mathias Bundgaard Svesson
Wouldn't they still be able to overwrite each other?
I don't think I expressed myself clearly. The point of the protection is
to keep the scripts from overwriting each other on purpose. It was a
protection that would make it posible to upload scripts, even if you
were not completly sure they were safe.

tor, 08 06 2006 kl. 17:30 -0400, skrev tedd:
 At 10:37 PM +0200 6/8/06, Mathias Bundgaard Svesson wrote:
 Restrict them not to overwrite other modules or overwrite the CMS
 itself. Each module should have it's own directory, and it shouldn't be
 allowed to change anything outside it.
 
 tor, 08 06 2006 kl. 21:49 +1000, skrev chris smith:
  On 6/8/06, Mathias Bundgaard Svesson [EMAIL PROTECTED] wrote:
   Hi!
   I'm trying to create a CMS where it should be posible to upload script
   modules. Those modules should mostly be made by myself, but it is
   posible for others to create scripts too. My question is, is it posible
   to restrict the modules to their own directory so they don't overwrite
some of the other modules or the CMS itself?
 
 Mathias:
 
 Well then, how about this?
 
 You can create a uniquely named id by using:
 
 $unique_id = md5(uniqid(microtime(), true));
 
 and then use that name as a folder for each person submitting scripts OR use 
 the unique id as a suffix for their cms file. Either way, it should stop 
 persons from overwriting cms files.
 
 I would also suggest that you keep track of these id's in a dB. If you are 
 still concerned about two people having the same unique, then you could 
 search the dB to see if the recently created id exist. If it does, then 
 generate another one.
 
 I use a similar method for making sure that the images I upload have unique 
 names.
 
 hth's
 
 tedd
 
 
 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php