Существует другой метод нападения, от которого защищает разделение. Если взломщику повезло получить доступ оболочки к веб-серверу, они могут затем захватить сами файлы базы данных для офлайнового анализа или любого количества других методов захвата данных. При наличии базы данных по отдельному серверу они ограничиваются тем, что они могут запросить посредством любых аутентификационных маркеров, которые они могут найти, которого не может быть достаточно для достигания хорошего материала.
Ответ - использовать виртуальные хосты для каждого экземпляра приложения. Затем вы можете настроить, какую базу данных использовать для каждого виртуального хоста.
Например, добавьте это в httpd.conf:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName 192.168.1.107
DocumentRoot /var/www/html/instance
DBDriver mysql
DBDParams "host=localhost port=3306 dbname=db_instance user=user"
DBDMin 4
DBDKeep 8
DBDMax 20
DBDExptime 300
<Directory "/var/www/html/instance">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
AuthType Basic
AuthName "Restricted Files"
AuthBasicProvider dbd
Require valid-user
AuthDBDUserPWQuery "SELECT password FROM user WHERE user = %s"
</Directory>
</VirtualHost>