.htaccess でのアクセス設定に注意

※当サイトにはプロモーションが含まれています。

投稿日:

レンタルサーバーでは、特定のディレクトリに .htaccess ファイルを置き、アクセス制限をかける場合があります。

例えば、以下を記述した .htaccess ファイルを置くと、そのディレクトリ以下にはウェブからアクセスできないようになります。

order deny,allow
deny from all

ところが、この設定を行ったにも関わらず、このディレクトリ内の特定のファイル(画像ファイルなど)にはアクセスできてしまうことがあります。

このような状態になる1つの原因は、ウェブサーバーの設定ファイルで、例えば以下の設定が記述されていることです(もしくは、上位のディレクトリに配置された .htaccessファイルにこれが書かれていることも考えられます)。

<FilesMatch "\.(jpg|gif|png)$">
  order deny,allow
  allow from all
</FilesMatch>

.htaccessファイルによる設定内容は、ディレクトリの下層にまで引き継がれるため、この FilesMatch も引き継がれ、拡張子が .jpg.gif.png であるファイルにはアクセスができてしまうのです。

これを禁止するには、個別のディレクトリに配置する .htaccess ファイル内に、これらの拡張子を持つファイルに対するアクセス制限設定を書く(上書きする)必要があります。

<FilesMatch "\.(jpg|gif|png)$">
  order deny,allow
  deny from all
</FilesMatch>

レンタルサーバーの場合、ウェブサーバーの設定ファイルにどんな記述がされているかは分かりませんので、これは困った問題です。

しかし今示したように、対策はありますので、まずは「こういう問題が起きうる」ということを知ることが大切だと思います。

参考

-Tips

執筆者:fitallright

関連記事

no image

ロリポップ!マネージドクラウドを使ってみた感想と記録

ここでは、ロリポップ!マネージドクラウド を使ってみた時のメモを書いていきます。(2018年10月時点) 目次疑問点ディスク容量についてメモリについて転送量の目安メモコンテナの起動時間SSHログイン後 …

WordPress 5.5 で実装されたサイトマップ自動生成機能

WordPress 5.5 で実装されたサイトマップ自動生成機能について説明します。

エックスサーバーの phpMyAdmin にログインできない?

エックスサーバーの phpMyAdmin にログインできない場合の対応策

エックスサーバーの phpMyAdmin にログインできない場合の対応策を紹介します。

複数絡むレイアウトのサイトで表の幅を広げられるようにする

複数カラムレイアウトのサイトで表の幅を広げられるようにする

複数カラムレイアウトのサイトで表の幅を広げられるようにする方法について説明します。

Xserver

エックスサーバーの phpMyAdmin の認証情報をクリアする

エックスサーバーの phpMyAdmin の認証情報をクリアする手順を紹介します。