【ちょっとしたセキュリティ】Apacheで特定ディレクトリをアクセス禁止

B!

.htaccessでアクセス管理する場合

.htaccessとは

.htaccessとはウェブサーバーであるApache環境でディレクトリ単位で管理する設定ファイルです。
※NGINXでは使えません。
※基本的にはサーバー側の.confで管理したほうが良いです。

.htaccessをサーバーで有効にする

下記ファイルを変更する。
/etc/apache2/apache.conf

<Directory "/var/www/test.com">
    Options Indexes FollowSymLinks
    AllowOverride ALL
    Require all granted
</Directory>

やりたいこととしては以下。

  • Directoryで.htaccessを有効にしたいディレクトリを指定。(基本的にドメイン配下ディレクトリになるかなぁ)
  • AllowOverride ALLで有効化。
    デフォルトはAllowOverride NONE(無効)になっているよ。

任意の設定を記述したファイルを設置

任意のディレクトリに設定を記述した.htaccessを設置する。

例えば、test.com/test/を全ての直アクセス禁止にしたい場合は以下内容を記述する。

deny from all
--ディレクトリ構造 
test.com 
├── test
         └──.htaccess
         └──index.php

 

特定のIPのみアクセス可能にする場合。

order deny,allow
deny from all
allow from 指定のIP
allow from 指定のIP

※色々な書き方があるんで適宜調べながら記述するように。

 

DocumentRootで制御するとき

下記ファイルに追記する。
/etc/apache2/apache.conf

<Directory /var/www/test.com/test/test>
Require all denied
</Directory>

上記を記述することでhttps://test.com/test/testのディレクトリに直アクセスするとForbidden出てくれます。

 

最新の記事はこちらから