WordPressのディレクトリ閲覧を無効化しますか?
ディレクトリの閲覧は、ハッカーに重要な情報を見せ、サイトのプラグインやテーマ、さらにはホスティングサーバーの脆弱性を突くために利用され、サイトを危険にさらす可能性があります。
この投稿では、WordPressでディレクトリ閲覧を無効化する方法を紹介します。
WordPressのディレクトリ閲覧無効化とは?
誰かがあなたのサイトを訪問するたびに、Webサーバーはそのリクエストを処理します。
通常、サーバーはindex.htmlのようなインデックスファイルを訪問者のブラウザーに配信します。しかし、サーバーがインデックスファイルを見つけられない場合、代わりにリクエストされたディレクトリ内のすべてのファイルとフォルダーを表示することがあります。
これはディレクトリブラウジングと呼ばれ、ホスティングサーバーでは初期設定で有効化されていることが多い。
サイトを訪問したときに、ウェブページの代わりにファイルやフォルダーのリストを見たことがあるなら、ディレクトリ・ブラウジングを実際に見たことがあるはずだ。
問題は、ハッカーがディレクトリブラウジングを使って、使用しているすべてのテーマやプラグインを含むサイトを構成するファイルを見ることができることです。
これらのテーマやプラグインに既知の脆弱性がある場合、ハッカーはその知識を利用してWordPressブログやサイトをコントロールしたり、データを盗んだり、その他の行為を行うことができます。
攻撃者はまた、ディレクトリ・ブラウジングを利用して、ファイルやフォルダー内の機密情報を覗き見することもあります。電子書籍のダウンロードや オンラインコースなど、通常であれば課金されるようなコンテンツも含め、サイトのコンテンツをコピーされる可能性もあります。
そのため、WordPressではディレクトリ閲覧を無効化するのがベストプラクティスとされている。
WordPressでディレクトリブラウジングが有効化されているかどうかを確認する方法は?
WordPress サイトでディレクトリ閲覧が有効化されているかどうかを確認する最も簡単な方法は、https://example.com/wp-includes/ のように /wp-includes/ フォルダーにアクセスすることです。
www.example.com、あなたのサイトのURLに置き換えてください。
403 Forbiddenまたは同様のメッセージが表示された場合、WordPressサイトではすでにディレクトリ閲覧が無効化されています。
代わりにファイルとフォルダーのリストが表示された場合は、あなたのサイトでディレクトリブラウジングが有効化されていることを意味します。
これではサイトが攻撃を受けやすくなるため、WordPressでは通常、ディレクトリ閲覧をブロックすることをお勧めします。
WordPressでディレクトリ閲覧を無効化する方法
ディレクトリ・リスティングを無効化するには、サイトの.htaccessファイルにコードを追加する必要があります。
ファイルにアクセスするには、FTPクライアントが必要ですが、WordPressホスティングコントロールパネル内のファイルマネージャーアプリを使用することもできます。
初めてFTPを使用する場合は、FTPを使用してサイトに接続する方法についての完全なガイドを参照してください。
サイトに接続したら、サイトの「public」フォルダーを開き、.htaccessファイルを見つけます。.htaccessファイルをデスクトップにダウンロードし、メモ帳のようなテキストエディターで開くことで編集できます。
ファイルの一番下に、以下のコードを追加するだけだ:
Options -Indexes
こんな感じになるだろう:
完了したら、.htaccessファイルを保存し、FTPクライアントを使ってサーバーにアップロードしてください。
これで完了だ。これで、同じhttp://example.com/wp-includes/ URLにアクセスすると、403 Forbiddenまたは同様のメッセージが表示されます。
専門家のアドバイス: WordPressサイトがハッキングされた可能性がある場合は、ハッキングされたWordPressサイトの修復に関するガイドをご覧ください。また、ハッキングされた WordPress サイトの修復サービスや、WordPress セキュリティの専門家によるサイトのクリーニングもご利用いただけます。
この投稿がWordPressでディレクトリ閲覧を無効化する方法を学ぶのにお役に立てば幸いです。究極のWordPressセキュリティガイド、または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.
Deepak Kumar
Its work like charm. Article on wpbeginners like ready to go solution. Keep it up.
Ayo
How do I now solve the 404 error that comes after?
Pradip Singh
I am in love with this website. Every day I am surprised when I read a new article from this website. Thankfully I read this article today and immediately I implemented the advice.
WPBeginner Support
Glad you found our content helpful
管理者
Sourabh
Will it block CDNs from accessing my website for static content?
WPBeginner Support
No, it will not.
管理者
sami
Does this method affect google crawling .. is it SEO friendly?
WPBeginner Support
It should not affect search engines crawling your site.
管理者
Meera Shaikh
Thanks its Done
WPBeginner Support
You’re welcome
管理者
Pradeep
Thanks my friend, I just try this and it’s work.
You are the genius.
WPBeginner Support
Glad our guide was helpful
管理者
mousam
Thank you. I applied and it worked.
You guys are the best source for learning wordpress.
WPBeginner Support
You’re welcome, glad our guide was helpful
管理者
Kevine
Thank you very much for this. It solved my problem.
Thanks again.
WPBeginner Support
You’re welcome, glad our guide was helpful
管理者
malika
Thank you for sharing information!
WPBeginner Support
You’re welcome
管理者
Jonthan
So is it ok to have this code on .htaccess file even when an index.php file is present in the root folder.
Kindly respond.
WPBeginner Support
Yes
管理者
Teresa Cuervo
Do you need Filezila to do this or can you go to the FTP via Cpanel and do this?
Thank you
WPBeginner Support
You can use either, not all hosts have a file manager is why we show Filezilla
管理者
michael
Hello
does this action affect pages indexing on search engines?
and does it make some problems for indexed pages of my WordPress website?
Thanks
WPBeginner Support
No, it would not affect that negatively.
管理者
Rhen Castrodes
Thank you. it works
WPBeginner Support
Glad our recommendation was able to help you
管理者
John
Thank you! It works even now in 2020.
WPBeginner Support
You’re welcome
管理者
Shams
Amazing post,
Just have simple question, I added this code and it’s working, the question is Google indexes those page e.g sitecom/wp-contents/2019/2, will Google remove those pages automatically now as these are 404. Or I should remove it in Search Console?
Thanks
WPBeginner Support
This code should not make your direct links to images and files turn into 404s
管理者
Bill
Hello!
I recently applied this rule
and at the same day the front page of my blog
got vanished from google index.
Do you see any connection?
WPBeginner Support
Adding this to your htaccess should not affect your indexing, there are multiple reasons and you would want to check your Google Search Console for what it says about your home page.
管理者
Ionel G
Thanks for all the tips that you provide!
I am still wondering how can you hide the wp-content & wp-include folder from sources? I hate it when someone goes right click and source it can see all of my plugins :). Do you have any script for this?
Thank you in advance!
WPBeginner Support
We do not have a recommended method for that at the moment, the most common reason you can’t see those folders in dev tools is a site’s cache.
管理者
Mayur
Could you please tell me How can i disable WordPress in sub folder like my WordPress install on [www.mydomain.com] and i want to disable wordpress in [www.mydomain.com/customscript]
WPBeginner Support
You may want to first take a look at creating a custom page template: https://www.wpbeginner.com/wp-themes/how-to-create-a-custom-page-in-wordpress/
Otherwise, you would need to create a folder with that name and inside that folder add an index.html file for a nonWordPress page to appear.
管理者
Rafael
Thank you. Worked perfectly for all browsers.
Dipankar
but wp-content is showing . how to remove it as well.
Deatram
I disabled directory browsing, but still someone can see my directory when they use developer tools in chrome browser. How do I disable in that as well?
Faeze
I added the line that you said in .htaccess but it showes my directories yet .
What should I do now??
Nathan
When I click “Save Changes” on the Permalink Settings page the .htaccess file is updated, erasing the “Options -Indexes” code that I inputted. The code works fine, but I am concerned I will unknowingly delete it while performing some other task. Are there any other dashboard settings changes that I should know about that may affect the .htaccess file and erase the code? Thanks
Tôi Sống
Awesome, it work very good!
Baggio
Huge fan of wpbeginner, Optin Monster – I got so many useful tips and tricks on WP – and I have to say, the site design is just brilliant. And of course, the content here is epicly useful.
Thanks guys!
daniel
Hey! It doesnt seem to work. if i pull an image to another page its opened with a link of: example.com/wp-content/uploads/…
Any idea? thanks!
WPBeginner Support
Hey Daniel,
Your images and files inside directories can still be directly accessed. However, server will not let someone directly browse a directory and see its contents.
管理者
Axel Jebens
I would appreciate if you could iterate on this. I had a hard time when trying to get a solution for this issue. There are some ideas based on a htaccess redirecting to a php file that first checks if the user is logged on. Is there any plugin which provides such a function?
Ünal Hoca
Thank you
Khalid Mahmud
Thank you. It’s working…….
Kim
Sorry to late ask. I want to know, are these techniques safe to use regarding SEO score ? Hope you answer !
WPBeginner Support
Yes, they are.
管理者
Kimmy
Still works pretty well. Awesome, simple, and working. Thanks!
Charles
I have been writing this same code for weeks now but my directory remains visible to users. Pls what am doing wrong? Or could it be that my site is still loading from cached contents? Everybody says it is working but my own experience is different. Any help will be appreciated! Thanks in anticipation of your reply.
Kimmy
What part are you having trouble on? What is your hosting provider btw?
Lily
Thank you. Worked like a charm!
Prakash
This Above Trick Is Not Working Man….
Mike
Is there a way to allow viewing a directory but just hide the Parent Directory link for a specific page? This would be a network share folder that multiple people would access, and have sub folders which would still require a parent directory listing. I just don’t want anyone going above the shared folder.
Christian Nastari
This didn’t work for me. I tried before and after #END WordPress and didn’t work. I also tried “Options All -Indexes”, but didn’t work either
hrwhisper
very helpful, thank you very much
nitai
Really great. today I just faced and thinking how can I disallow like joomla and I found the exact solution.
Rob Myrick
This was very helpful and quick – thank you
Anita in SD
Thanks so much, was dismayed to see images from my site going to a parent directory :0. This was very helpful and worked well.
Blessings – A
Heather Jacobsen
Thanks for this tutorial. It worked great for hiding my uploads from anyone just wanting to browse that directory. One question, though. Does this by chance turn off the ability of search engines to browse my website. Sorry if it seems like a dumb question. I am a newbie, after all.
Wasil Burki
I added the Options -Indexes code to the htaccess file, however now I am not able to access the site I get a 503 error. Am I doing something wrong? Need help bad!! Thanks
Ted
The problem I have is that I can see the directory of this wordpress site, so if you are using this solution then it doesn’t work… (theme wpbv4)
Rahul
Thank you so much for the tutorial!
I was very concerned when I discovered some of my theme directories could be browsed. All good now, thanks to your tutorial. I never knew .htaccess packed in so much punch.
KeelAha
Hello Syed Balkhi
I just noticed that one of your site list25.com having directory browsing enabled on following folder.
Not sure if that is important to you.
http://list25.com/wp-includes/
Have a great weekend and keep doing your good work.
regards
KeelAha
WPBeginner Support
Disabled it, thanks
管理者
Logan
Why do I get a blank page, and not an error when I try to access the ../wordpress/wp-content/ or ../wordpress/wp-content/plugins/ ?
WPBeginner Support
It may depend on your theme or your hosting environment. Try enabling directory browsing and then access these directories. If you still get a blank page then this means that those directories have a blank index.php file in them.
管理者
Charlie Sasser
I tested this before I made any changes with a location that didn’t have an index.php or .htm file and yes you can see all of the files. I added the suggested line at the end of the .htaccess. The location now creates a 403 error from the host and not a 404 error from WordPress. I’m running WP 3.8. Is this the expected behavior?
Bern
I have the same issue it shows 403 error not 404. Did you solve this problem?
Christian
Same issue appear, what to do now? using latest version of wordpress.
Abhisek
Better WordPress Security plugin takes care of that.
Govinda
How do I do it in Better Wp security.
I have installed the plugin, but not able to find this feature
Costin
Hi,
Could you please tell me if “Options All -Indexes” is the same or better?
Thank you!
WPBeginner Support
Its the same.
管理者
David Trees
Thanks for this important information.
Do you mean;
Here
Options -Indexes
# END WordPress
OR
# END WordPress
Options -Indexes
Thanks for your reply.
Cheers
David
WPBeginner Support
Both should work the same but we meant the later one after the END WordPress
管理者
Ivan R Linares
Thank you, worked like a charm!