web-dev-qa-db-ja.com

新規インストールのためにどのWordPressスクリプトを実行可能にする必要がありますか?

セキュリティ上の理由から、私は新しいWordPressインストールでは実行されないスクリプトへのアクセスをブロックする必要があります。

例:

  • /index.php - >実行可能である必要があります
  • /wp-includes/cache.php - >実行しないでください(他のファイルに含まれています)

どのファイルがインクルードされ、実際にどのファイルが実行可能である必要があるかに関する情報は誰にでもあります

私はこのように、.htaccessで実行できる有効なファイルのリストを作りたいです。


更新:

これは私が持っている.htaccessファイルです - 私の実際の質問:この設定は完了していますか、それとも新しいWordPressを正しくインストールするためにより多くのファイルを許可する必要がありますか?

<IfModule mod_rewrite.c>
  # 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]
</IfModule>
2
Philipp

WP管理アーキテクチャのため、これは本当にコンパイルして確実に維持するのに不便なリストになります。

私が最もよく知っていると思うのは、これらのファイルの多く(ただし全部ではないが単なるではない)が機能するためには管理者ブートストラップ(wp-admin/admin.php)が必要だということです。

それぞれのディレクティブをクイック検索したところ、次のような結果が得られました。

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
2
Rarst

私はこのbashコマンドを使ってWordPressのファイルパーミッションを素早く簡単にリセットします。あなたのroot WPフォルダに移動して両方を実行してください。

ディレクトリ

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

ファイル

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

0
Vinnie James

WordPressのファイル/フォルダのパーミッションは以下の通りです。

ディレクトリ用:755

ファイルの場合:644

以下を除きます。

/ wp-content/774

/ wp-content/themes/= 755または775(編集可能に設定)

/ wp-content/plugins/= 755いくつかのプラグインは文句を言うでしょうが、それらが書き込みアクセスを必要とするならそれらはあなたに知らせるでしょう。

/ wp-content/uploads/= 775ディレクトリにのみ再帰的に適用することを確認します。このフォルダ内のファイルは、その内容によってアクセス許可が異なります。

777は絶対に使わない

次のページに記載されている情報が役立ちます。

http://codex.wordpress.org/Changing_File_Permissionshttp://codex.wordpress.org/Hardening_WordPresshttps://stackoverflow.com/a/18352747/1287548http: //www.smashingmagazine.com/2014/05/08/proper-wordpress-filesystem-permissions-ownerships/

.htaccessを使用してファイルの実行を許可/禁止するには、次のスレッドとページに記載されている回答を参照してください。

https://stackoverflow.com/a/8415600/1287548https://stackoverflow.com/a/ 11950077/1287548http://www.wpbeginner.com/wp-tutorials/how-to-disable-php-execution-in-certain-wordpress - ディレクトリ/http://perishablepress.com/stupid-htaccess-tricks/

0
Vinod Dalvi