Apacheアクセス制御の記述方法

Apacheのパスを確認

自分の環境のApacheの場所は

# find / -name httpd.conf

で確認できます。 確認できたら、

# vim /etc/httpd/conf/httpd.conf

のようにコマンドを実行し、編集することができます。(上のパスは自分の環境に置き換えてください)

Apacheの拒否の方法は2つ種類がある

1. 「Order, Allow, Deny」

アクセス制限をかける場合には許可と拒否を組み合わせて記述を行って行きます。そこでまず許可と拒否の順番を設定するのが「Order」です。

Order allow,deny     許可してから拒否
Order deny,allow     拒否してから許可

Orderは一番最初に記述します

Allow from 対象  #許可の対象を指定する「Allow」
Deny from 対象  #拒否の対象を指定する「Deny」

例は下の通りです。

<Directory "D:/Apache Group/Apache2.2/htdocs">
    Order allow,deny
    Allow from all
    Deny from 192.168.1.0/24
</Directory>

2. ユーザーエージェント指定でアクセス拒否する方法

ApacheのSetEnvIfディレクティブを使って、環境変数を設定し、対象を拒否する方法です。 下のコードは例です。

SetEnvIf User-Agent "Scrapy" deny_ua <= これを追加
     # "" 内のユーザーエージェントを拒否することができる

    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    Deny from env=deny_ua <= これを追加

以上で説明は終わりです。 参考にしたサイトは以下のURLです。

https://www.adminweb.jp/apache/allow/index1.html http://blog.hypermkt.jp/deny-from-user-agent/