WordPressのアップロードフォルダに奇妙なPHPファイルを見つけるのは不安なものです。私たちはこの感覚をよく知っています。なぜなら、同じ問題を抱えた何百人ものユーザーを支援してきたからです。
これは、多くの人が見落としがちなセキュリティの脆弱性を示していることがよくあります。ハッカーは書き込み可能なディレクトリを悪用して悪意のあるスクリプトをアップロードし、ウェブサイトへのバックドアアクセスを可能にします。
良いニュースは、彼らが好む攻撃方法の1つをブロックする簡単な方法があることです。特定のフォルダでPHPの実行を無効にすることで、あなたのサイトは攻撃されにくくなります。
その方法をステップバイステップでご紹介します。この重要なセキュリティレイヤーをWordPressサイトに追加する方法を見ていきましょう。

特定のWordPressディレクトリでPHP実行を無効にする理由
デフォルトでは、WordPressは特定のディレクトリを書き込み可能にしているため、あなたやその他の権限のあるユーザーは、テーマ、プラグイン、画像、動画をウェブサイトに簡単にアップロードできます。
ただし、この機能は悪用される可能性があり、ハッカーがバックドアアクセスファイルやマルウェアをWordPressウェブサイトにアップロードするために使用する可能性があります。
これらの悪意のあるファイルは、WordPressのコアファイルとして偽装されていることがよくあります。それらは主にPHPで書かれており、バックグラウンドで実行されてウェブサイトのあらゆる側面に完全にアクセスできます。
恐ろしいですよね?
心配しないでください。簡単な解決策があります。必要のない特定のディレクトリでは、PHPの実行を無効にするだけです。そうすることで、それらのディレクトリ内でPHPファイルは実行されなくなります。
.htaccessファイルを使用してPHP実行を無効にすることで、WordPressのセキュリティを向上させる方法を見てみましょう。
.htaccessファイルを使用して特定のWordPressディレクトリでのPHP実行を無効にする
ほとんどのWordPressサイトには、ルートフォルダに.htaccessファイルがあります。これは、最も一般的なWebサーバーソフトウェアの1つであるApacheによって使用される設定ファイルです。(ホストがNginxのような異なるサーバーを使用している場合は、心配しないでください。以下のFAQセクションで説明します。)
この強力な設定ファイルは、管理エリアのパスワード保護、ディレクトリブラウジングの無効化、SEOフレンドリーなURL構造の生成などに使用されます。
デフォルトでは、.htaccessファイルはWordPressウェブサイトのルートフォルダにありますが、WordPressの内部ディレクトリ内に追加の.htaccessファイルを作成して使用することもできます。
バックドアアクセスファイルからウェブサイトを保護するには、.htaccessファイルを作成し、サイトの/wp-includesおよび/wp-content/uploadsディレクトリにアップロードする必要があります。/wp-content/uploadsフォルダを保護することは特に重要です。なぜなら、ハッカーが悪意のあるスクリプトを配置しようとする最も一般的な場所だからです。
新しいファイルをコンピュータ上に作成するには、メモ帳(Windowsの場合)やTextEdit(Macの場合)のようなテキストエディタを使用します。次に、空のファイルを .htaccess という名前で保存します。
次に、以下のコードを .htaccess ファイルにコピー&ペーストします。
<Files *.php>
Require all denied
</Files>
このコードは、このフォルダ内から直接 .php で終わるファイルを実行しようとする試みをサーバーにブロックするように指示します。コードを貼り付けたら、ファイルを保存してください。
次に、このファイルをWordPressホスティングサーバーの/wp-includesおよび/wp-content/uploadsフォルダにアップロードする必要があります。
FTPクライアントまたはホスティングアカウントのcPanelダッシュボードにあるファイルマネージャーアプリを使用してアップロードできます。

上記のコードを含む.htaccessファイルを追加すると、これらのディレクトリでPHPスクリプトが実行されなくなります。
Sucuriを使用してWordPressのバックドアをチェックする
この.htaccessトリックを使用すると、WordPressのセキュリティを強化できますが、すでにハッキングされたWordPressサイトを修正するものではありません。
バックドアは巧妙に偽装されており、すでに普通に見える場所に隠されている可能性があります。
ウェブサイトのバックドアの可能性を確認したい場合は、ウェブサイトでSucuriを有効にする必要があります。

Sucuriは、市場で最高のWordPressセキュリティプラグインです。ウェブサイトを潜在的な脅威、疑わしいコード、マルウェア、脆弱性についてスキャンします。
また、サイトと不審なトラフィックの間にファイアウォールを追加することで、ほとんどのハッキング試行がウェブサイトに到達するのを効果的にブロックします。
最も重要なのは、WordPressサイトがハッキングされた場合、それをクリーンアップしてくれることです。詳細については、私たちは長年彼らのサービスを利用しているので、私たちのSucuriレビューをお読みください。
ハッキングされたWordPressサイトでバックドアを見つけて修正する方法に関するガイドで詳細を確認できます。
PHP実行の無効化に関するよくある質問
特定のディレクトリでPHP実行を無効にすることによるWordPressセキュリティの強化について、よく寄せられる質問を以下に示します。
1. .htaccessファイルとは何ですか?また、どこにありますか?
.htaccessファイルは、Apacheウェブサーバーで使用されるサーバー設定ファイルです。WordPressでは、ウェブサイトのURL構造などを制御し、セキュリティルールを追加するために使用できます。通常、WordPressインストールのメインルートフォルダ内にあります。
2. アップロードフォルダでPHP実行を無効にすると、私のウェブサイトは壊れますか?
いいえ、このセキュリティ対策はウェブサイトの通常の動作に影響を与えるべきではありません。wp-content/uploads および wp-includes ディレクトリは、直接実行されるPHPファイルを含むことを意図していません。テーマやプラグインは、PHP実行が許可されている別のフォルダに必要なファイルを保持しています。
3. この.htaccessトリックだけでサイトを完全に保護できますか?
これは効果的で重要なセキュリティ対策ですが、完全なセキュリティプランの一部にすぎません。完全な戦略には、WordPressセキュリティプラグインの使用、すべてのテーマとプラグインの更新、およびすべてのユーザーに対する強力なパスワードの強制も含まれるべきです。
4. ウェブホストがApacheではなくNginxを使用している場合はどうなりますか?
.htaccess ファイルはApacheウェブサーバーでのみ機能します。ホスティングプロバイダーがNginxを使用している場合、同じ結果を得るには、サーバーの設定ファイルに別のルールを追加する必要があります。プラットフォームに適したコードについては、ホストのサポートチームに連絡することをお勧めします。
.htaccess ファイルを追加した後にエラーが発生した場合はどうすればよいですか?
ごくまれに、ファイルをアップロードした後に「500 Internal Server Error」が表示されることがあります。これは通常、ウェブホストが古いバージョンのApacheサーバーソフトウェアを使用していることを意味します。
このような場合は、.htaccess ファイルを開き、追加したコードを次のスニペットに置き換えてください。
<Files *.php>
deny from all
</Files>
ファイルを保存して再アップロードしてください。この古いバージョンのコードは同じことを行いますが、古いサーバーとの互換性があります。
WordPressのセキュリティを向上させる方法に関するエキスパートガイド
この記事が、WordPressのセキュリティを強化するために特定のWordPressディレクトリでPHPの実行を無効にする方法を学ぶのに役立ったことを願っています。WordPressのセキュリティを向上させるための他のいくつかのセキュリティ技術についても知りたいかもしれません。WordPressのセキュリティを向上させるための最も優れたガイドをいくつかご紹介します。
- WordPressセキュリティ究極ガイド(ステップバイステップ)
- WordPressセキュリティ監査の実行方法(完全チェックリスト)
- WordPressサイトを悪意のある可能性のあるコードからスキャンする方法
- マルウェアやハッキングを検出するための最高のWordPressセキュリティスキャナー
- WordPressでスパムリンクの注入を見つけて削除する方法
- WordPressで2要素認証を無料の方法で追加する方法
- WordPressログイン画面にセキュリティの質問を追加する方法
- WordPress セキュリティキーの What, Why, and Hows
この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterやFacebookでもフォローできます。

tom
wp-includesフォルダでのPHP実行を無効にすることについて、バックドアコードの実行を防ぐためなど。しかし、admin-bar.phpやauthor-template.phpのように、実行される必要があると思われるPHPファイルが多数存在します。このフォルダに.htaccessファイルを配置すると、これらのファイルの実行が停止し、WordPressのコア機能が損なわれる可能性があるのではないかと疑問に思っています。ところで、あなたのウェブサイトの多くのすばらしい記事に感謝します。
WPBeginnerサポート
ファイルに機能を追加する特定のプラグインがない限り、フォルダ内のPHP実行を妨げる問題はないはずです。
管理者
tom
ご返信ありがとうございます。私の設定はシンプルです。astra/spectra、malcare、all in one seoです。その場合、.htaccessをwp-includesにも配置します。素晴らしい記事をたくさんありがとうございます。
Mrteesurez
PHPの実行をフォルダで無効にすることで、ウェブサイトを保護する素晴らしい方法だと思います。この記事によると、保護されているのは2つのディレクトリだけですが、他のディレクトリはどうなりますか?それらは自然に保護されていますか、それともハッカーは攻撃中にそれらを必要としませんか?
WPBeginnerサポート
通常、サイトの他のセクションのファイルには、より厳格なアクセス権が必要であったり、サイトの動作に不可欠なPHPファイルが含まれています。
管理者
イジー・ヴァネック
これらの安全に関するヒントをありがとうございます。htaccess ファイルを作成し、FTP にアップロードします。自分のサーバーにウェブサイトがあるので、セキュリティの問題はすべて私次第です。WordPress をさらに安全にするための次のステップをありがとうございます。
Unarine Leo Netshifhefhe
Updraftプラグインでバックアップが行われていないというアラートも表示されていますが、これは.htaccessが原因でしょうか?
「バックアップディレクトリを作成できませんでした…
フォルダは存在しますが、ウェブサーバーには書き込み権限がありません。WordPress プラグインがディレクトリに書き込むための権限を設定する方法については、ウェブホスティングプロバイダーに相談する必要があります。(wp-content/updraft)
WPBeginnerサポート
ファイル/フォルダの権限の問題のようです。ホスティングプロバイダーに連絡してサポートを受けてください。以下のガイドも参照できます。
https://www.wpbeginner.com/beginners-guide/how-to-fix-file-and-folder-permissions-error-in-wordpress/
管理者
Brian Prom
FYI: .htaccess スニペットのコードスニペットにタイポがあります。
コードスニペットを閉じスラッシュなしでそのまま使用すると、画像の読み込みが壊れます。
WPBeginnerサポート
Thank you for pointing that out, our code should be fixed
管理者
Vitor Gonçlaves
アップロードフォルダにプラグインによって作成された.phpファイルがいくつか見つかりました。これは問題ないと考えてよいでしょうか、それとも各プラグインを個別に分析する必要がありますか?
WPBeginnerサポート
プラグインに問い合わせれば、それらのファイルに関する詳細を知ることができます。
管理者
nirbo
情報ありがとうございます
WPBeginnerサポート
You’re welcome
管理者
cliff denney
本当にありがとうございます
WPBeginnerサポート
You’re welcome
管理者
Suman Samanta
素晴らしい文章です!情報発信の才能がありますね。あなたのコンテンツには言葉を超えた感銘を受けました。あなたの文章には多くの敬意を抱いています。このトピックに関する貴重な情報提供に感謝します。
WPBeginnerサポート
Thank you, glad you enjoy our writing
管理者
Thato
皆さん、.htaccessファイルを間違って編集してしまったようです。ウェブサイトに画像が全く表示されません。
WPBeginnerサポート
Thatoさん、こんにちは。
.htaccessファイルをバックアップとしてコンピューターにダウンロードし、ウェブサイトから削除できます。WordPress管理エリアの設定 » パーマリンクに移動し、変更を保存ボタンをクリックします。これにより、.htaccessファイルが再生成されるはずです。
管理者
ショーン・レベロ
wp-contentは行わないでください。
wp-content/uploadsは行ってください。
そしてこれです:
order allow,deny
denied from all
サーバーによって大きく異なります。
Hardik
ウェブページへのアップロードファイルに影響しますか?
このhtaccessファイルをフォルダにアップロードした後、多くの投稿の画像が表示されなくなりました。
Chuck Cochems
はい、includes ディレクトリ内の php ファイルへのアクセスを拒否すると、サイトが壊れます。これは、include が .htaccess の制限に従うためです。
しかし、アップロードディレクトリへの制限は非常に賢明であり、これはデフォルトでアップロードディレクトリに存在するべきであり、存在しないことに良い理由はありません。
スタン
IISサーバーの方法は何ですか?
ありがとうございます、
KOnnie
OMG!/wp-includesフォルダへの書き込みアクセスを無効にすることはできませんか?
原因を防げるのに、なぜ結果と戦うのですか?
ジョナサン・ホジソン
これにより、WordPressがコアアップデートでファイルを更新できなくなりますか?
ジェフ・ウィーガル
これをApacheの仮想ホストに入れることもできます。これにより、同じことが達成されます。
注文許可、拒否
すべて拒否
anton
ファイル拡張子に小文字と大文字の組み合わせがある場合、例えば.phpのような場合に、このコードを実装するにはどうすればよいですか?私のウェブサイトでは機能しますが、ファイル名が.PHp、.PHP、.PhP、またはそれらの組み合わせの場合、バックドアスクリプトは引き続き実行されます。
ありがとうございます
ティモシー・ムーラン
これを.htaccessファイルに入れることができます
注文を拒否、許可
すべて拒否
Shams
サイード様、
大変有益な投稿をありがとうございます。実際、これはWordPressをハッカーから守るための素晴らしいソリューションを提供しています。
ウラジーミル
こんにちは!
この記事のすべての指示に従いましたが、機能しません…
ありがとう
Aurélien Debord
とても役立つ投稿で、非常に迅速で良いヒントが得られました。
ありがとう
Ramon
wp-includesフォルダに.htaccessファイルを作成しました。サイトは問題なく表示されましたが、管理画面のWYSIWYGエディタが機能しませんでした。.htaccessファイルを削除する必要がありました。(WP 3.9.1)
Wes
wp-includesフォルダがphpファイルでいっぱいになっていることも見つけました。そこに.htaccessファイルを使用しても何も壊れないとは思いません。アップロードディレクトリでは使用しました。
編集スタッフ
使用しているプラグインによっては、時々壊れることがありますが、常にではありません。
管理者
赤
私の英語が下手でごめんなさい…
この記事の指示はすべて実行したのですが、ダッシュボードで新しい投稿を追加しようとすると、投稿セクションがめちゃくちゃになってしまいました。… .htaccess が問題だと疑っています。
それを削除したら、投稿は問題なく表示されました。
編集スタッフ
この問題を引き起こした .htaccess ファイルをどのディレクトリにアップロードしましたか?
管理者
Chris
.htaccessファイルをwp-includesに追加しましたが、問題はありませんでした。ヒントをたくさんありがとうございます。
ブラッド
PHPファイルでいっぱいの/wp-includes/ディレクトリでこれを試しました。もちろん、サイトにアクセスできなくなりました。.htaccessファイルで使用するためにincludesディレクトリを含めることを本当に意味しましたか?
/wp-includes/images のことでしょうか?
編集スタッフ
いいえ。/wp-includes/ フォルダのことです。当社の wp-includes フォルダにこれがあります。何らかの理由でサイトが壊れる場合は、wp-includes フォルダから .htaccess ファイルを削除してください。
管理者
ブラッド
不思議なことに、私の wp-includes フォルダには 90 を超える php ファイルがあります。そして、それはサイトを壊します。すぐに元に戻しました。
しかし、/wp-content/uploads/ フォルダに入れましたが、そこでは問題なく動作しています。返信ありがとうございます。
アルフレッド
PHPファイルが多数存在するディレクトリにPHPファイルへのアクセスを拒否するhtaccessファイルを置くのは、奇妙に思えます。これらのファイルは通常、インクルードされるだけで直接実行されないためだと推測します。もしそうなら、ディレクトリ全体へのアクセスを拒否する方が良いのではないでしょうか?