Edit report at https://bugs.php.net/bug.php?id=52428&edit=1

 ID:                 52428
 Comment by:         stelian dot mocanita at gmail dot com
 Reported by:        tyra3l at gmail dot com
 Summary:            $this isn't immutable
 Status:             Not a bug
 Type:               Bug
 Package:            Scripting Engine problem
 Operating System:   all
 PHP Version:        5.3.3
 Block user comment: N
 Private report:     N

 New Comment:

I strongly disagree with this not being a bug. I came across some old code 
where 
I had $this->object out of a class context and it took me a lot of hours to 
track and still did not get to the bottom of it.

More than that, this is lacking consistency. It can't allow me to assign a 
value 
to $this using globals / variable variables and not allow me to assign it a 
value otherwise.

As far as I see it it's either: $this can be overwritten by any assignation 
method in php or it can't be overwritten at all. Allowing people to shoot 
themselves is a bad practice and it leads to shooting someone.

Thank you,
Stelian


Previous Comments:
------------------------------------------------------------------------
[2010-07-26 11:30:33] tyra3l at gmail dot com

There was some reason for this check to be placed.
My problem with this behaviour that the 
$bar = 'baz';
should work the same as 
$foo='bar';$$foo = 'baz'; 
and same for the $foo vs $GLOBALS['foo']

Tyrael

------------------------------------------------------------------------
[2010-07-26 11:20:33] degeb...@php.net

@dagdamor10: This has nothing to do with exploits at all. It poses no security 
risk being able to modify the $this variable by circumventing the simple check 
that is implemented.

------------------------------------------------------------------------
[2010-07-26 10:51:25] tyra3l at gmail dot com

"what about abolishing everything related to safe_mode"
safe_mode has been DEPRECATED as of PHP 5.3.0. and will be removed with the 
next 
major php version.

Tyrael

------------------------------------------------------------------------
[2010-07-26 10:32:24] dagdamor10 at mail dot ru

>> If you want you can shoot yourself in your head.

Okay, that was plain rude.

PHP *should* protect websites from possible exploits, what about abolishing 
everything related to safe_mode, allowed paths and such? To make a good site, 
people need good programming language... and good programming language should 
be accurate in range-checking, resource-protecting etc, instead of leaving all 
that to every programmer who decide to use it.

------------------------------------------------------------------------
[2010-07-25 18:50:52] tyra3l at gmail dot com

Thanks for the clarification.

Did I something wrong in the report, or you just copypasted the "Thank you for 
taking the time to write to us..." part of your comment?

Maybe it would be a good thing to add this conclusion to the documentation 
(reassigning this isn't allowed, because ..., if you try it, it will give you 
an 
error "Cannot re-assign this..." [if you really need this, you can do...])

Tyrael

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=52428


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=52428&edit=1

Reply via email to