Re: Re: Performance problem with php
| From: | Vincenzo D'Amore | Date: | Tue, 13 Jul 2010 14:31:25 +0000 |
| Subject: | Re: Re: Performance problem with php | ||
| References: | 1 2 3 4 5 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-49058@lists.php.net to get a copy of this message | ||
Thanks Johannes,
you are really clear and I finally understand what's the problem.
I'm following a big free web hosting service, I would like to enhance
performance of customers webspache.
What do you think if:
- set safe_mode off
- remove open_basedir
- disable_functions symlink, unlink
- w/ functions: passthru, proc_close, proc_get_status, proc_nice,
proc, exec, shell_exec, system, proc_open, popen, curl_multi_exec,
parse_ini_file, show_source, set_time_limit, error_reporting, mail,
fsockopen, ini_set
2010/7/13 Johannes Schlüter <johannes@schlueters.de>
> On Tue, 2010-07-13 at 15:11 +0200, Vincenzo D'Amore wrote:
> > thank you for reading my posts, *could anybody help me to
> > understand why realpath cache is disabled if safe_mode or open_basedir
> are
> > set?*
>
> For security reasons.
>
> Assume the following (simplified) code:
>
> <?php
> symlink('./bar', 'foo');
> access_bar_in_some_way_to_get_it_cached();
> unlink('bar');
> symlink('/', 'bar');
> do_bad_things_with_bar();
> ?>
>
> and suddenly you've bypassed the check as for do_bad_things_with_bar()
> the cached value is used. Now I hear you say "then invalidate the cache
> entries" or something like that, but well, there are so many ways to
> achieve such a result (including from outside PHP) that the check won't
> be reliable in any way anymore.
>
> That's the issue one has with security features on application level,
> the operating system itself can implement it way more efficiently but
> this doesn't (easily) work with a mod_php vhost config (solaris +
> mod_privileges would be one way, probably linux + apparmor can do,
> too ...)
>
> johannes
>
>
>
--
Vincenzo D'Amore
email: v.damore@gmail.com
msn: freedev@hotmail.com
skype: free.dev
mobile: +39 349 8513251