このサイトにはプロモーションが含まれます

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

.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

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

 

やんやん

プログラマーとしてLEMP環境に主に生息しており、DevOps 的な立ち回りをしながらご飯を食べている当ブログの管理人のやんやんと申します。
最近はTmux使うのを辞めました。

 

DocumentRootで制御するとき

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

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

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

 

Twitterでフォローしよう

読んでみーな
おすすめの記事