2026年5月21日
2026年5月21日
WordPressのFile Editor(テーマ・プラグイン編集)を無効化する方法
はじめに
WordPressは、テーマやプラグインを簡単に更新・カスタマイズできる機能としてファイルエディタ機能を提供しています。しかし、この機能は悪意のあるユーザーが利用することも考えられ、セキュリティ上のリスクがあります。本記事では、このリスクを低減するためにWordPressのFile Editor機能を無効化する方法を紹介します。
症状・背景
このテーマが必要になる主な場面:
- サイト管理者が意図せずにコードを破壊してしまうリスクがある場合
- リモートからファイルエディタにアクセスできる可能性がある場合
- 他のユーザーに対して特権の管理が厳密に行われていない場合
手順・設定方法
ステップ1: wp-config.phpファイルに定義を追加する
# WordPressのルートディレクトリにあるwp-config.phpを開きます。
nano /var/www/html/wp-config.php
# 以下のようにdefine関数を追加します。既存のdefine('DB_NAME', 'database-name');などの行の下に追加してください。
define('DISALLOW_FILE_EDIT', true);
# 変更内容を保存して編集器を閉じます。(Linuxの場合、Ctrl + X, Y, Enter)
ステップ2: .htaccessファイルに制限を追加する
# WordPressのルートディレクトリにある.htaccessを開きます。
nano /var/www/html/.htaccess
# 以下のように制御情報を追加します。既存のAllow from allの行の下に追加してください。
<Files wp-config.php>
Order Allow,Deny
Deny from all
</Files>
# 変更内容を保存して編集器を閉じます。(Linuxの場合、Ctrl + X, Y, Enter)
ステップ3: ファイルエディタへの直接アクセスを禁止する
# WordPressのwp-adminディレクトリにあるファイルに制限を追加します。
nano /var/www/html/wp-admin/admin.php
# 以下のように制御情報を追加します。既存の<?php行の下に追加してください。
if ( ! defined( 'ABSPATH' ) || ! current_user_can('activate_plugins') )
die( 'Direct access forbidden.' );
ステップ4: ファイルを定期的にバックアップする
# WordPressを含むディレクトリ全体のバックアップを作成します。
tar -czvf wp-backup-$(date +%Y%m%d).tar.gz /var/www/html/
# 変更内容と新規追加されたファイルが適切に保存されていることを確認します。
ls -lah /path/to/backup/
注意事項
- WordPressのアップデートやテーマ・プラグインの更新時に設定を忘れずに再確認してください。
- File Editor機能を無効化すると、WordPress内で直接ファイル編集ができなくなるため、外部から適切なエディタを使用して行う必要があります。
- ファイルアクセス権限が適切に設定されていることを定期的にチェックしてください。
- セキュリティ上のリスクを最小限に抑えるために、サーバー全体のセキュリティ対策も合わせて実施することを推奨します。
- パフォーマンス面で影響が出る可能性があるため、バックアップとテスト環境での動作確認が重要です。
まとめ
1. ファイルエディタ機能の無効化: wp-config.phpにdefine('DISALLOW_FILE_EDIT', true);を追加することで簡単に実現できます。
2. 外部アクセス制限: .htaccessファイルを編集してwp-config.phpへのアクセスを禁止します。
3. 直接アクセス防止: admin.phpでユーザー権限のチェックを行い、直接アクセスを防ぎます。
4. 定期バックアップ: ファイルやデータの破損を防ぐために、WordPressディレクトリ全体を定期的にバックアップすることが推奨されます。
5. セキュリティとパフォーマンスのバランス: セキュリティ対策は重要ですが、パフォーマンスにも影響を与えるため、適切なバランスを保つことが求められます。
関連記事: