.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

関連記事

レンタルサーバーの Tips

.htaccess ファイルとは何なのか?

.htaccess ファイルとは何なのか?について説明します。

【VPS, クラウドサーバー】MySQL (MariaDB) が突然停止する場合は、innodb_buffer_pool_size が大きすぎるかもしれません

VPS や クラウドサーバー(OS は Linux)を借りて、MySQL (MariaDB) を使っている場合のお話しです。 目次現象調査my.cnf で innodb_buffer_pool_siz …

エックスサーバーに Bolt を設置する

エックスサーバーに Bolt (CMSツール)を設置する

エックスサーバーに Bolt という CMS を設置する手順を紹介します。 Bolt 自体の紹介というよりは、エックスサーバーのような共用レンタルサーバーに、CMS を設置する一つの方法(手順)を紹介 …

レンタルサーバーのTips

Windows で、.htaccess(先頭がドットで始まり拡張子を持たないファイル名の)ファイルを作成する方法

レンタルサーバーでは、.htaccess ファイルを使ってサーバー側の設定を変更することが許されているものが多くあります。 そこで、この機能を利用しようと思い Windows のエクスプローラー上で …

エックスサーバーに Node.js をインストールする

エックスサーバーに Node.js をインストールする

エックスサーバーは、SSH を使ってターミナルエミュレータでログインすることができますが、そのままだと Node.js が使えません。つまり、node コマンド(npm, npx も)が使えません。 …

ロリポップ!「スタンダードプラン」