I wrote a PHP web-application using SQLite
and sessions stored on filesystem
.
This is functionally fine and attractively low maintenance. But, now it needs to run on a shared host.
All web-applications on the shared host run as the same user, so my users' session data is vulnerable, as is the database, code, etc.
Many recommend storing sessions in DBMS
such as MySQL
in this situation. So at first I thought I will just do that, and move the SQLite
data into MySQL
too. But then I realized the MySQL
credentials need to be readable by the web application user, so I'm back to square one.
I think the best solution is to use PHP
as a CGI
so it runs as different user for each web-application. This sounds great, but my host does not do this it uses mod_php
. Are there any drawbacks from an admin's point-of-view for enabling this? (performance, backward compatibility, etc)? If not then I will ask them to enable this.
Otherwise, is there anything I can do to secure my database and session data in this situation?