Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPBカップ
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

WordPressの特定のディレクトリでPHPの実行を無効化する方法

WordPressウェブサイトをハッカーから守ることは最優先事項です。ウェブサイト全体のセキュリティを向上させる効果的な方法の1つは、特定のフォルダでPHPの実行を無効にすることです。

ハッカーは時々、PHPコードで書かれた有害なファイルをアップロードしようとします。これらのファイルが実行されると、ウェブサイトのセキュリティを脅かす可能性があります。

特定のディレクトリでPHPコードの実行を許可しないようにすることで、たとえサーバーに有害なファイルがアップロードされたとしても、そのファイルによる被害を防ぐことができます。

この記事では、WordPressでPHPの実行を無効にする方法を紹介します。.htaccessファイルを使用してこのセキュリティ対策を有効にし、潜在的な攻撃からサイトを保護する方法を説明します。

How to Disable PHP Execution in Certain WordPress Directories

なぜWordPressの特定のディレクトリでPHPの実行を無効化するのか?

デフォルト設定では、WordPressは特定のディレクトリを書き込み可能にしており、ユーザーやサイトの他の投稿者がテーマ、プラグイン、画像、動画を簡単にアップロードできるようになっています。

しかし、この機能が悪用される可能性があります。例えば、ハッカーがWordPressサイトにバックドアアクセスファイルやマルウェアをアップロードするために使用することができます。

これらの悪意のあるファイルは、WordPressのコアファイルとして偽装されていることがよくあります。これらのファイルは主にPHPで書かれており、バックグラウンドで実行され、サイトのあらゆる側面にアクセスすることができます。

怖そうでしょう?

ご心配なく。簡単に解決できます。PHPを必要としないディレクトリでのPHPの実行を無効化するだけです。そうすることで、そのディレクトリ内では PHP ファイルが実行されなくなります。

.htaccessファイルを使ってPHPの実行を無効化することで、WordPressのセキュリティを向上させる方法を見てみよう。

.htaccessファイルを使ってWordPressの特定のディレクトリでPHPの実行を無効化する

ほとんどのWordPressサイトは、ルートフォルダーに.htaccessファイルを持っています。

この強力な設定ファイルは、管理エリアのパスワード保護、ディレクトリ閲覧の無効化、SEOフレンドリーなURL構造の生成などに使用されます。

初期設定では、.htaccessファイルはWordPressサイトのルートフォルダにありますが、WordPressの内部ディレクトリに追加の.htaccessファイルを作成して使用することもできます。

バックドアアクセスファイルからサイトを保護するには、.htaccessファイルを作成し、サイトの/wp-includesと /wp-content/uploadsディレクトリにアップロードする必要があります。

Windowsの場合はメモ帳、Macの場合はテキストエディットなどのテキストエディターを使って、コンピューター上に新規ファイルを作成します。ファイルを.htaccessとして保存し、その中に以下のコード・スニペットを貼り付ける:

<Files *.php>
deny from all
</Files>

そのファイルをコンピューターに保存してください。

次に、このファイルをWordPressホスティングサーバーの /wp-includesフォルダと/wp-content/uploadsフォルダにアップロードする必要があります。

FTPクライアントまたはホスティングアカウントのcPanelダッシュボードのファイルマネージャーアプリを使用してアップロードできます。

Clicking the Upload button in Bluehost file manager

上記のコードを含む.htaccessファイルを追加すると、これらのディレクトリでPHPスクリプトが実行されなくなります。

Sucuriを使ってWordPressのバックドアをチェックする

この.htaccessのトリックを使用すると、WordPressのセキュリティを強化することができますが、すでにハッキングされているWordPressサイトを修復することはできません。

バックドアは巧妙に偽装されており、すでに目に見えるところに非表示になっていることもある。

あなたのサイトにバックドアの可能性がないかチェックしたい場合は、Sucuriを有効化する必要があります。

Sucuri

Sucuriは、市場で最高のWordPressセキュリティプラグインです。可能性のある脅威、疑わしいコード、マルウェア、脆弱性についてあなたのサイトをスキャンします。

また、サイトと不審なトラフィックの間にファイアウォールを追加することで、ほとんどのハッキングの試みを効果的にブロックします。

最も重要なことは、WordPressサイトがハッキングされた場合、それを一掃してくれることです。さらに詳しく知りたい方は、Sucuriのレビューをご覧ください。

さらに詳しくは、ハッキングされたWordPressサイトのバックドアの発見と修正に関するガイドをご覧ください。

WordPressのセキュリティを向上させるエキスパートガイド

この記事が、あなたのウェブサイトのセキュリティを強化するために、特定のWordPressディレクトリでPHPの実行を無効にする方法を学ぶのにお役に立てば幸いです。また、他のセキュリティテクニックも学びたいと思うかもしれません。ここでは、WordPressのセキュリティを向上させるためのベストガイドをいくつかご紹介します:

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

情報開示 私たちのコンテンツは読者支援型です。これは、あなたが私たちのリンクの一部をクリックした場合、私たちはコミッションを得ることができることを意味します。 WPBeginnerの資金源 をご覧ください。3$編集プロセスをご覧ください。

アバター

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

究極のWordPressツールキット

ツールキットへの無料アクセス - すべてのプロフェッショナルが持つべきWordPress関連製品とリソースのコレクション!

Reader Interactions

39件のコメント返信を残す

  1. Mrteesurez

    I see this as a great form of securing a website by disabling PHP execution in folders. According to this article, only two directories are secured, what of others ? Have they secured naturally or hackers don’t need it during the attempt ?

    • WPBeginner Support

      Other sections of your site’s files normally require stricter access or have php files that are required to work for your site to work.

      管理者

  2. Jiří Vaněk

    Thanks for these safety tips. I have created an htaccess file and will upload it to FTP. I have a website on my own server, so the question of security is entirely up to me. Thanks for the next step in making my WordPress a little more secure again.

  3. Unarine Leo Netshifhefhe

    I also have this alert on my Updraft plugin where backups are not happening can this be due to htaccess?

    “Backup directory could not be created…

    The folder exists, but your webserver does not have permission to write to it. You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory. (wp-content/updraft)”

  4. Brian Prom

    FYI: you have a typo in your code snippet for the .htaccess snippet.

    Using your code snippet as is (without the closing /) breaks image loading.

    • WPBeginner Support

      Thank you for pointing that out, our code should be fixed :)

      管理者

  5. Vitor Gonçlaves

    I’ve found some .php files in the uploads folder created by plugins. Can I assume this won’t cause a problem, or do I have to analyse each plugin individually?

    • WPBeginner Support

      If you reach out to your plugins they can let you know the specifics for those files.

      管理者

  6. nirbo

    Thanks for the information

    • WPBeginner Support

      You’re welcome :)

      管理者

  7. cliff denney

    thank you very much

    • WPBeginner Support

      You’re welcome :)

      管理者

  8. Suman Samanta

    Great writing! You have a flair for informational writing. Your content has impressed me beyond words. I have a lot of admiration for your writing. Thank you for all your valuable input on this topic.

    • WPBeginner Support

      Thank you, glad you enjoy our writing :)

      管理者

  9. Thato

    Guys i think i have messed up my htaccess file, my website is completely not displaying images

    • WPBeginner Support

      Hey Thato,

      You can download your .htaccess file to your computer as a backup and then delete it from your website. Go to WordPress admin area Settings » Permalinks and click on the save changes button. This should regenerate your .htaccess file.

      管理者

  10. Shawn Rebelo

    Do not do wp-content.
    Do wp-content/uploads.

    And this:

    order allow,deny
    deny from all

    May very on servers.

  11. Hardik

    Does it affect the uploads file to upload on webpages?
    I found that after uploading this htaccess file to the folder many of images from many posts are not displaying.

  12. Chuck Cochems

    Yeah, denying access to php files in the includes directory breaks the site because including actually obeys .htaccess restrictions.

    But the restriction on the uploads directory is very smart, and this should be there .BY DEFAULT in the uploads directory, and there’s no good reason for it not to be present.

  13. Stan

    What’s the method for IIS servers?
    Thanks,

  14. KOnnie

    ZOMG! can’t you just disable write access to /wp-includes folder?
    Why fight with consequences when you can prevent the cause?

    • Jonathan Hodgson

      Wouldn’t this stop wordpresss being able to update the files in core updates?

  15. Jeff Wigal

    You can also put this in your Apache virtualhost, which will accomplish the same thing:

    Order allow,deny
    Deny from all

  16. anton

    how to implement this code if we have combination of lower case and upper case on file extention for example on.php on my website its work but it s not working if the file named with.PHp ,.PHP .PhP or combination of them,the backdoor script still executed

    Thank you

    • Timothée Moulin

      You can put this in your .htaccess file

      Order Deny,Allow
      Deny from All

  17. Shams

    Hi Syed,
    Thanks for such an informative post and in fact it provides a great solution for saving WordPress from hackers.

  18. Vladimir

    Hi!

    I followed all your instructions in this article, but Its not working…

    Thanks

  19. Aurélien Debord

    A so useful post with such good and quick tips.

    Thanks

  20. Ramon

    I created an .htaccess file in the wp-includes folder. Site looked oke but my WYSIWYG editor in the admin pages wasn’t working. Had to remove the .htaccess file again. (WP 3.9.1)

  21. Wes

    I also found my wp-includes folder full of php files and I can’t see how using that .htaccess file in there wouldn’t break something. I did use it in the uploads dir.

    • Editorial Staff

      It does break it sometimes (depending on the plugin you are using), but not all the time.

      管理者

  22. Red

    forgive my bad english…
    i followed all your instructions in this article, but when i go my dashboard to add a newpost, my post section was messed up. … i suspect the .htaccess was the problem.
    when i deleted it, the post was fine.

    • Editorial Staff

      Which directory did you upload the .htaccess file that caused this issue?

      管理者

  23. Chris

    I added the .htaccess file to my wp-includes and didn’t have any problems. Thanks a lot of the tips.

  24. Brad

    I tried this in my /wp-includes/ directory, which is full of php files. Of course I could no longer access the site. Did you really mean to include the includes directory for use with the .htaccess file?

    Did you maybe mean /wp-includes/images ?

    • Editorial Staff

      Nope. We meant /wp-includes/ folder. We have this on our wp-includes folder. If for some reason it is breaking your site, then delete the .htaccess file from your wp-includes folder.

      管理者

      • Brad

        Strange, my wp-includes folder has over 90 php files in it. And it does break the site. I took it back out immediately.

        But I did put it in the /wp-content/uploads/ folder and its works just fine there. Thanks for responding

        • Alfred

          Putting an htaccess file denying access to php files in a directory full of php files does seem rather odd. I assume it’s because these files are normally only included, not executed directly. If that’s true, wouldn’t it be better to just deny access to the entire directory?

返信を残す

コメントありがとうございます。すべてのコメントは私たちのコメントポリシーに従ってモデレートされ、あなたのメールアドレスが公開されることはありませんのでご留意ください。名前欄にキーワードを使用しないでください。個人的で有意義な会話をしましょう。