On 4 Dec 2011, at 16:59, Andreas wrote:

> Am 03.12.2011 23:54, schrieb Tamara Temple:
>> If you give every application user a unique set of database access 
>> permissions, that means that any one of those users can access your data 
>> base WITHOUT going through your application if they manage to get access to 
>> your data base server. Is that clearer? Your application's users should not 
>> be able to access the data base directly. The application should be the 
>> thing to manage the data base. You may want to have different data base 
>> credentials for different user *roles* (plain, privileged, admin roles, 
>> etc), but to give *every* application individual data base unique 
>> credentials is not only unnecessary, but also a security risk. 
> 
> OK, then where or how is the most advisable place to store the application's 
> credentials.
> 
> One way is to have it as constants in an seperate php-file somewhere within 
> the doc-root so php can easily access it as include.
> An application that is to be put on an outside hoster's server has to do it 
> like this, I guess.
> Mine will stay on a server within the LAN for now, so I've got root access.
> 
> This way the web-server could display it in the probaply unlikely case 
> someone guesses the url to it AND the php-interpreter fails to process it 
> first.
> 
> More likely a local user could read it, though.
> 
> So how would I store it and restrict access to it?

Put it outside the document root so it can't be accessed directly. The only 
chance of it being displayed to a user then is via a really bad 
mis-configuration of the web server, or an error in the code, neither of which 
you can reasonably be expected to protect against (outside of effective 
testing).

-Stuart

-- 
Stuart Dallas
3ft9 Ltd
http://3ft9.com/
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to