WordPress を保護するには: plugins フォルダーの名前を変更します
English version: Get WordPress protected: rename the plugins folder
plugins フォルダーに新しい名前を付けることは、WordPress の保護を強化する最も過小評価されている方法の 1 つです。それでいて無料で簡単です。
それが重要な理由とその仕組み
Cerber Labでの調査によると、ほとんどのハッカー攻撃やプラグインの脆弱性を悪用しようとする試みは、すべての WordPress プラグインがすべてのプラグインのデフォルトのフォルダー ( /wp-content/plugins/ )に配置されていることを前提としています。幸いなことに、このフォルダーの名前は、文字通り 2 つの簡単な手順で簡単に任意の名前に変更できます。これは、サイバー犯罪者がフォルダーの名前を変更し、デフォルトのプラグインの場所を盲目的に攻撃する機能についてまったく知識がないことを意味しますか?いいえ、常にではありませんが、 WordPress を利用した Web サイトの大部分はデフォルトのフォルダー構造を使用しているため、サイバー犯罪者はこの弱点を簡単に悪用します。
弊社の分析によると、ほとんどの Web サイトは古いプラグインの脆弱性を悪用してハッキングされており、ほとんどの場合、攻撃者はデフォルトの WordPress プラグイン フォルダーにある PHP ファイルの脆弱性を利用しています。
ヒント:Cerber マルウェア スキャナーを使用して、インストールされているプラグインの脆弱性を見つけます。
WordPressプラグインフォルダーの名前を変更する方法
まず、通常はファイル マネージャーが備わっているホスティング コントロール パネルを介して Web サイト上のファイルにアクセスする必要があります。あるいは、FTP クライアントを使用することもできます。
最初のステップは、既存の WordPress プラグイン フォルダーの名前を任意の名前に変更することです。モジュール名を使用すると仮定します。プラグイン フォルダーの名前には ASCII 文字のみを含める必要があることに注意してください。簡単に言えば、「ラテン文字のみを使用する」ということです。
2 番目のステップでは、WordPress がプラグイン フォルダーの新しい名前を認識して使用できるようにする 2 つの定義ディレクティブをwp-config.phpファイルに追加します。このステップでは、WordPress 管理ダッシュボードの組み込みファイルエディターを使用することはできません。ホスティング コントロール パネル内のファイル エディターまたは FTP クライアントを使用して、wp-config.php ファイルを編集します。以下の例を参照し、次の点に注意してください。
- ファイルの先頭、 <?phpの次の行にディレクティブを追加する必要があります。
- WP_PLUGIN_DIR にはプラグイン ディレクトリへのフル パスを使用する必要があります。ヒント: 標準プラグイン フォルダーへのフル パスは、[ツール] / [診断] 管理ページで見つけることができます。これは、「WordPress プラグインフォルダー」行の「ファイルシステム」セクションに表示されます。
- 末尾のスラッシュはありません。
<?php
define('WP_PLUGIN_DIR', '/full/path/to/wp-content/modules');
定義('WP_PLUGIN_URL', 'https://example.com/wp-content/modules');
WP_PLUGIN_DIR定数は、名前を変更したプラグイン フォルダーへの末尾のスラッシュを除いたフル パスを定義します。
WP_PLUGIN_URL定数は、名前を変更したプラグイン フォルダーの末尾のスラッシュを除いた URL を定義します。
これら 2 つの手順を完了したら、WordPress に追加のセキュリティ層を追加します。考慮すべきもう 1 つのセキュリティ メカニズムは、スケジュールされたマルウェア スキャンを有効にすることです。
考えられる問題とトラブルシューティング
Web サイトが読み込まれず、エラーが表示されます。これは通常、フォルダー名にタイプミスがあったことを意味します。 wp-config.php に追加した定義、フルパス、指定した URL を注意深く確認してください。 Web サイトのパスと URL を指定する必要があります。上記の例からそれらをコピーしたり、プラグインフォルダーの名前を変更したり、WordPress ダッシュボード内から wp-config.php ファイルを編集したりしないでください。
一部の機能が動作しなくなりました。たまたま、Web サイトに不適切な設計または古いプラグインがインストールされている場合があります。一番良いのはそれを取り除くことです。不十分なプラグイン開発には言い訳の余地はありません。プラグイン開発者は、WordPress コーディング標準に従う必要があります。
プラグインフォルダーの名前をデフォルトに戻す方法
- WP_PLUGIN_DIRおよびWP_PLUGIN_URLディレクティブを含むすべての行を wp-config.php ファイルから削除します。
- WordPress プラグインが存在するフォルダーのデフォルト名はpluginsなので、プラグインフォルダーの名前をpluginsに戻します。
Jim ( )
I tried changing the directory but it didn’t work.
Looking for more information I found something that works.
define( ‘WP_PLUGIN_DIR’, dirname(__FILE__) . /content/mod’);
define( ‘WP_PLUGIN_URL’, ‘http://example.com/content/mod’);
Why this way if it works and not the way you have in the post?
Has anything changed in the latest versions of WordPress?
The same thing happens to me with WP-CONTENT
Thanks
Gregory ( )
Yes, you can use this way too but it leaves some room for uncertainty because a constant should be constant. The perfect way is to define a static value like a string. It didn’t work for you most likely because the path you specified for WP_PLUGIN_DIR was not correct. Possibly because you had changed the default wp-content path to content. In this case, the full config should be:
// no trailing slashes
define('WP_CONTENT_DIR', dirname(__FILE__) .'/content');
define('WP_CONTENT_URL', 'https://example.com/content');
define('WP_PLUGIN_DIR', WP_CONTENT_DIR . '/mod');
define('WP_PLUGIN_URL', WP_CONTENT_URL . '/mod');
Jim ( )
Thanks!
I started by following this other post https://wpcerber.com/turn-wordpress-into-fort-knox/
But I couldn’t get it to work well.
Gregory ( )
Yes, that approach requires some technical background.