Setting register_globals to off (which is highly recommended) would prevent 
PHP from defining form variables as global variables.  For quite a while, 
since the PHP 3.0 times, PHP provided an alternative way of accessing 
variables - using special designated arrays - $HTTP_POST_VARS, 
$HTTP_GET_VARS, and so forth.  As of PHP 4.0.3 (IIRC), these variables are 
always defined, and are protected (to a degree) by PHP.  Setting 
register_globals to off effectively prevents any outer access to your 
namespace, outside $HTTP_*_VARS[].

Zeev

At 12:28 24/07/2001, PHP wrote:

>Hey all,
>
>         I am new to this list so if this topic has already been beaten to 
> death let me know.
>
>         I assume that many of you have already read this article
>
>         http://lwn.net/2001/0704/a/study-in-scarlet.php3 
>
>
>         about many of the basic security risks you need to be aware of 
> when developing in PHP.  I was curious what ideas have already been 
> covered in the areas of stopping this.  I also wanted to offer up my own 
> suggestion.
>
>         It seems that all the issues arise from the feature that sets PHP 
> variable to be form variables.  The cleanest solution I can think of 
> (albeit it breaks backward compatibility) would be to split the 
> names-pace of form variables.  If normal or session variable stayed as 
> $foo and $bar then form variables would be %foo and %bar, or something 
> similar.   Breaking backward compatibility is bad but it would allow 
> future applications to be free of these dangers and could be something 
> set in the php.ini or rather a directive in the php script to allow old 
> an new style scripts on the same server.
>
>         If there is work already being done in this area please point me 
> to where I can read more about it.  PHP is far and away the best web 
> development language and is really only hindered by security issues like this.
>
>         Orion
>
>
>
>--
>PHP Development Mailing List <http://www.php.net/>
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>To contact the list administrators, e-mail: [EMAIL PROTECTED]

--
Zeev Suraski <[EMAIL PROTECTED]>
CTO &  co-founder, Zend Technologies Ltd. http://www.zend.com/


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to