Armand Turpel wrote:
> 
> > On Wed, 4 Jun 2003, Jay Blanchard wrote:
> > > [snip]
> > > Have register globals set to ON is one way of leaving your script open
> > > to being exploitable.
> > > [/snip]
> > >
> > > Please explain this, how does it make it more exploitable? I think that
> > > this is only true if the code is sloppy.
> >
> > Correct, if you properly initialize your internal variables there is
> > nothing insecure about leaving register_globals on.
> 
> But how you know, if you have a few tausends of php code lines, which part
> have some sloppy code. Nobody is perfect. In my opinion you should turn
> register_globals to off  if it's possible. It's much more secure.

I strongly disagree with that.
Consider the following code (assuming $foo is 'external' variable):

1: if ($foo=='yes') transfer_money_to_me();

2: if ($_GET['foo']=='yes']) transfer_money_to_me();

Why (2) is safer than (1)? Answer: It is *not*.

As Rasmus has correctly pointed out, the usage of "register_globals=off"
per se cannot be considered a security measure. If you don't initialize
and/or check *all* user-supported variables, you're dead. It's as simple
as that. Is it annoying? Maybe. Is it necessary? *yes*

Anyway, IIRC the whole issue of register_globals started when some guy
presented a paper named "A Study in Scarlet". A whole lot of issues
where presented in that paper, which in my opinion, have been blown
quite out of perspective. register_globals is one of them.

Oh boy, this is starting to look like an urban myth : "-Hey do you know
that register_globals=on is bad? - Really? -Yeah, and you know what? It
allows the bad boys do eeeevil things".

-Stathis.

> 
> >
> > -Rasmus
> >

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

Reply via email to