Sichere mehrere WordPress Installationen auf Shared Hosting

Die meisten Shared-Hosting-Pakete speichern alle Dateien eines bestimmten Benutzers unter etwas wie /user/myuser/www/ oder /var/html .

Addon-Domains befinden sich normalerweise unter /var/html/domain1.com/ , /var/html/domain2.com .

Gibt es eine Möglichkeit (unter Verwendung von .htaccess) zu verhindern, dass eine Addon-Domain auf die Dateien einer anderen Domain und ein potentielles, bösartiges Script (zB ein Schurken-Theme) vom Lesen oder Ausführen oder Schreiben von Dateien in den Ordner einer anderen Addon-Domain zugreift?

Auf diese Weise werden die anderen nicht beeinträchtigt, wenn eine Site kompromittiert wird.

Mir ist klar, dass dies nicht der einzige erforderliche Schritt ist, um die Sicherheit einer WordPress-Installation zu erhöhen, aber es ist ein guter Ausgangspunkt, um zu verhindern, dass ein potenzieller Exploit zu viel Schaden anrichtet.

Solutions Collecting From Web of "Sichere mehrere WordPress Installationen auf Shared Hosting"

Es wäre besser, Dateiberechtigungen zu verwenden. Dies funktioniert jedoch nicht mit allen Hoster.

Geh zu deinem FTP-Explorer und ändere die Dateiberechtigungen eines Bildes auf 400 (nur für meinen eigenen Benutzer gelesen, alle anderen haben überhaupt kein Recht). Kannst du trotzdem über das Web auf diese Datei zugreifen oder siehst du einen 403 Verboten Fehler? Wenn es funktioniert, können Sie dies für alle Dateien tun und Schreibrechte hinzufügen, wo Sie sie brauchen. Dann probieren Sie aus, ob der Upload noch funktioniert.

Wenn die anderen Sites unterschiedliche Dateibenutzer haben, verhindert dies, dass sie auf Ihre Dateien zugreifen. Dies erfordert normalerweise CGI / FCGI oder ähnliche Setups.

Sie können auch versuchen, die php.ini-Option open_basedir , dies funktioniert jedoch nur, wenn alle Websites sie verwenden.

Hier ist meine komplette .user.ini (Sie können sie in den htaccess setzen, wenn Sie möchten):

 register_globals=false magic_quotes_gpc = Off session.use_only_cookies = 1 session.cookie_httponly = 1 disable_functions = "exec,system,passthru,shell_exec,show_source,popen,escapeshellcmd,proc_open,proc_nice,ini_restore" allow_url_fopen=0 safe_mode=0 open_basedir=/var/www/vhosts/website:/tmp error_reporting=E_ALL display_errors=0 log_errors=1 error_log=/var/www/vhosts/website/logs/php_error.log default_charset="utf-8" mbstring.internal_encoding = "utf-8"