2016-05-23 14 views
0

ich entdeckt habe, dass apache2 der Lage ist, zu "isolieren" php anderen den Zugriff auf nicht näher spezifiziert wird, Verzeichnisse diese Regel in virtuellen Host verwenden:Isolieren von PHP aus anderen MySQL-Datenbanken zugreifen

php_admin_value open_basedir/path/to/Ihr/virtualroot:/irgendein/anderer/Pfad

Jetzt muss ich auch mysql Zugang für diesen spezifischen virtualhost zu einer spezifischen Datenbank einschränken. Ich würde nur Benutzer/Passwort vermeiden, um sie zu schützen, um Bruteforce zu vermeiden.

Gibt es eine Lösung dafür?

Antwort

2

Nein, Sie können es nur pro Benutzer beschränken. Sie können beispielsweise den Zugriff über den Benutzer mysql einschränken und den bestimmten Benutzer für die Domäne (/ VirtualHost) verwenden.

ich in der Regel einen MySQL-Benutzer erstellen und den Zugriff auf alle Datenbanken geben, die diese Benutzername als Präfix haben:

CREATE USER 'someuser'@'localhost' IDENTIFIED BY 'somepass'; 
GRANT ALL ON `someuser\_%`.* to `someuser`@`localhost`; 

So someuser vollen Zugriff auf alle Datenbanken haben wird, die mit beginnen: someuser_. (zum Beispiel: someuser_wordpress, someuser_drupal, etc ...). Benutzer sehen nur die Datenbanken, zu denen sie berechtigt sind.

Sie können auch als auch den Zugang zu einer einzigen Datenbank beschränken:

GRANT ALL ON `databasename`.* to `someuser`@`localhost`;