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

2

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にアクセスするか疑問ですね。

    • こんにちは?

      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。

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

コメントを残す

コメントを入力してください!
名前を入力してください