Welche WordPress-Skripte müssen für eine Neuinstallation ausführbar sein?

Aus Sicherheitsgründen muss ich den Zugriff auf Skripts blockieren, die bei einer neuen WordPress-Installation nicht ausgeführt werden.

Beispiel:

  • /index.php -> muss ausführbar sein
  • /wp-includes/cache.php -> sollte nicht ausgeführt werden (es ist in anderen Dateien enthalten)

Hat jemand Informationen darüber, welche Dateien enthalten sind und welche tatsächlich ausführbar sein müssen ?

Ich möchte eine Liste gültiger Dateien erstellen, die über .htaccess ausgeführt werden können:


Aktualisieren:

Dies ist die .htaccess-Datei, die ich habe – meine eigentliche Frage: Ist diese Konfiguration abgeschlossen, oder muss ich mehr Dateien zulassen, damit eine neue WordPress-Installation ordnungsgemäß funktioniert?

 # ONLY ALLOW THESE SCRIPTS TO EXECUTE: # == Login, Signup, Activate RewriteRule ^wp-login.php - [L] RewriteRule ^wp-activate.php - [L] RewriteRule ^wp-signup.php - [L] # == All admin scripts and WYSIWYG editor RewriteRule ^wp-admin/ - [L] RewriteRule ^wp-includes/js/tinymce/wp-tinymce.php - [L] # == WP Cron and mail RewriteRule ^wp-cron.php - [L] RewriteRule ^wp-mail.php - [L] # == WP Comments form RewriteRule ^wp-comments-post.php - [L] # (...) <-- I need to know which other files need to be allowed # BLOCK ALL OTHER SCRIPTS RewriteCond %{REQUEST_FILENAME} -f RewriteRule \.(php.?|pl|cgi)$ - [F,L]  

Solutions Collecting From Web of "Welche WordPress-Skripte müssen für eine Neuinstallation ausführbar sein?"

Aufgrund der WP-Admin-Architektur wäre dies eine wirklich unpraktische Liste, die zuverlässig kompiliert und verwaltet werden kann.

Meine beste Vermutung ist, dass viele (aber möglicherweise nicht alle und nicht nur) dieser Dateien benötigen Admin-Bootstrap ( wp-admin/admin.php ) zu funktionieren.

Ich habe eine schnelle Suche nach der entsprechenden Direktive mit folgenden Ergebnissen durchgeführt:

 C:\server\www\dev\wordpress\src>ack --files-with-matches --literal "require_once( dirname( __FILE__ ) . '/admin.php' );" wp-admin/about.php wp-admin/admin-header.php wp-admin/comment.php wp-admin/credits.php wp-admin/customize.php wp-admin/edit-comments.php wp-admin/edit-tags.php wp-admin/edit.php wp-admin/export.php wp-admin/freedoms.php wp-admin/import.php wp-admin/index.php wp-admin/link-add.php wp-admin/link-manager.php wp-admin/link.php wp-admin/media-new.php wp-admin/media-upload.php wp-admin/media.php wp-admin/ms-admin.php wp-admin/ms-delete-site.php wp-admin/ms-edit.php wp-admin/ms-options.php wp-admin/ms-sites.php wp-admin/ms-themes.php wp-admin/ms-upgrade-network.php wp-admin/ms-users.php wp-admin/my-sites.php wp-admin/nav-menus.php wp-admin/network/about.php wp-admin/network/credits.php wp-admin/network/edit.php wp-admin/network/freedoms.php wp-admin/network/index.php wp-admin/network/plugin-editor.php wp-admin/network/plugin-install.php wp-admin/network/plugins.php wp-admin/network/profile.php wp-admin/network/settings.php wp-admin/network/setup.php wp-admin/network/site-info.php wp-admin/network/site-new.php wp-admin/network/site-settings.php wp-admin/network/site-themes.php wp-admin/network/site-users.php wp-admin/network/sites.php wp-admin/network/theme-editor.php wp-admin/network/theme-install.php wp-admin/network/themes.php wp-admin/network/update-core.php wp-admin/network/update.php wp-admin/network/upgrade.php wp-admin/network/user-edit.php wp-admin/network/user-new.php wp-admin/network/users.php wp-admin/network.php wp-admin/options-discussion.php wp-admin/options-general.php wp-admin/options-media.php wp-admin/options-permalink.php wp-admin/options-reading.php wp-admin/options-writing.php wp-admin/options.php wp-admin/plugin-editor.php wp-admin/plugin-install.php wp-admin/plugins.php wp-admin/post-new.php wp-admin/post.php wp-admin/press-this.php wp-admin/revision.php wp-admin/term.php wp-admin/theme-editor.php wp-admin/theme-install.php wp-admin/themes.php wp-admin/tools.php wp-admin/update-core.php wp-admin/update.php wp-admin/upload.php wp-admin/user/about.php wp-admin/user/credits.php wp-admin/user/freedoms.php wp-admin/user/index.php wp-admin/user/profile.php wp-admin/user/user-edit.php wp-admin/user-edit.php wp-admin/user-new.php wp-admin/users.php wp-admin/widgets.php 

Die WordPress Datei / Ordner Berechtigungen sollten wie folgt sein.

Für Verzeichnisse: 755

Für Dateien: 644

Außer den folgenden:

/ wp-content / 774

/ wp-content / themes / = 755 oder 775 (um die Bearbeitung zu erlauben)

/ wp-content / plugins / = 755 Einige Plugins werden sich beschweren, aber wenn sie Schreibzugriff benötigen, werden sie dich wissen lassen.

/ wp-content / uploads / = 775 check, um rekursiv nur auf Verzeichnisse anzuwenden. Dateien in diesem Ordner haben unterschiedliche Berechtigungen, je nachdem, was sie sind.

Benutze niemals 777

Die Informationen auf den folgenden Seiten helfen Ihnen.

http://codex.wordpress.org/Changing_File_Permissions http://codex.wordpress.org/Hardening_WordPress https://Stackoverflow.com/a/18352747/1287548 http://www.smashingmagazine.com/2014/05/08 / richtig-Wordpress-Dateisystem-Berechtigungen-Besitzer /

Um die Dateiausführung mit .htaccess zu erlauben / zu verbieten, sehen Sie sich die Antworten in den folgenden Themen und Seiten an.

https://stackoverflow.com/a/8415600/1287548 https://stackoverflow.com/a/11950077/1287548 http://www.wpbeginner.com/wp-tutorials/how-to-disable-php-execution- In-bestimmten-WordPress-Verzeichnissen / http://perishablepress.com/stupid-htaccess-tricks/

Ich verwende diesen Bash-Befehl, um WordPress-Dateiberechtigungen schnell und einfach zurückzusetzen. Navigiere einfach zu deinem Root-WP-Ordner und führe beides aus:

Verzeichnisse

find . -type d -exec chmod 755 {} \;

Dateien

find . -type f -exec chmod 644 {} \;