WordPress uploadsフォルダからPHPファイルの実行を禁止する方法

WordPress(WordPress)では、基本的には、管理者や許可されたユーザーがテーマ、プラグイン、画像、動画などをスェᆸサイトにアップロードすることができるように、特定のディレクトリが書き込み可能に設定されています。

しかし、ハッカーをはじめとする、悪意のあるユーザーがこの機能を悪用してバックドアファイルやマルウェア(悪意のあるコード)を WordPress サイトにアップロードすることができます。

マルウェアに感染した多くのサイトではuploadsフォルダの下にPHPファイル形式のバックドアファイルが生成されていることを確認することができます。

uploadsフォルダや特定のフォルダからPHPファイルを実行できないようにして WordPress サイトのセキュリティを強化することができます。 以下では、uploadsフォルダの場合を例に挙げて説明しているが、他のフォルダにも適用可能です。

uploadsフォルダのPHPファイルが実行されないように設定する方法

FTPやcPanelのFile Managerツールを使用して / wp-content / uploads フォルダに.htaccessファイルを作成バックドアファイルが実行されないようにすることができます。

FTPに接続して作業している場合 / wp-content / uploads フォルダに移動した後、マウスの右ボタンをクリックすると、コンテキストメニューが表示されます。

WordPress uploadsフォルダでphpファイルを実行禁止

FTPクライアントプログラムで ファイルBugzillaの(FileZilla)を使用している場合は、[新しいファイルの作成]をクリックして[.htaccess]ファイルを生成します。 一部のWebホスティングでは権限がないというエラーメッセージが表示されることがあります。 そのような場合は、Webホスティング会社に連絡して問題を相談してください。

cPanelを提供するウェブホスティング(例えば、 Bluehost)は、cPanelにログインした後、File Managerに接続して.htaccessファイルを作成することができます。

海外ホスティング Bluehost SiteGround cPanelのFile Managerを実行

.htaccessファイルに次のコードを追加して保存するようにします。

# Kill PHP Execution
<Files ~ "\.ph(?:p[345]?|t|tml)$">
   deny from all
</Files>

uploadsフォルダにphpファイルを一つ上げ、テストしてみると、ブラウザに次のようなエラーメッセージが表示され、PHPファイルが実行されていないことを確認することができます。

403 Permission Denied
You do not have permission for this request /wp-content/uploads/info.php

Nginxウェブサーバを利用する場合は、次のようなディレクティブを追加することができます。

# Disallow PHP in upload folder  
    location /wp-content/uploads/{  
            location ~ \.php$ {  
                    deny all;                 
                }  
        }  
// 출처: https://community.easyengine.io/t/prevent-execution-of-php-files-from-sensitive-folders/832

上記のコードを追加してもサイトの速度には影響しません。コードを追加した後にサイトの速度に影響するかどうかを監視してください。

WordPress コアプログラム、テーマ、プラグインを常に最新のバージョンに更新して、セキュリティ・プラグインをインストールすると、安全に WordPress サイトを運営することができます。 定期的にサイトをバックアップして、万一の事態に備えることも重要です。

メモ:

一部の記事にはアフィリエイトリンクが含まれている場合があり、パートナーの活動で一定額の手数料を受け取ることがあります。

2のコメント

  1. とても良いヒントですが、.htaccessを使用すると、パフォーマンスは何の問題もないでしょうか?
    ポストに含まれている画像ファイルの一つ一つするたびに.htaccessにアクセスするか疑問ですね。

    1. こんにちは?

      https://stackoverflow.com/questions/25063677/how-much-does-using-htaccess-files-slow-down-website-performance-especially-wit 文を参考にしてください。

      Having a large .htaccess does have a cost。 Ours is currently〜1500 lines and we benchmarked the time spent parsing it at around 10-12ms on a production webserver。 Hardware makes a difference obviously、but you can fairly safely assume that the cost of that 3000 line .htaccess is around 25-35ms per request。

      サイトの速度に影響を与えることができるようになります。
      コードを追加して、サイトの速度に影響を与えるかを確認してください。

コメントを残す

*電子メール情報は公開されません。