Installation
============
mod_deny_deeplink.cのビルドはGNU autoconfを利用しています。
mod_deny_deeplink.cのソースコードパッケージからインストール
するためにはまず configureスクリプトを実行します。configure
が正常に終了した後は makeとmake installを実行するだけでイン
ストールは完了します。
% ./configure
% make
# make install
必要な環境:
-----------
mod_deny_deeplink.cのconfigureスクリプトはビルドをおこなうシ
ステムに以下のプログラムがインストールされ使用できることを確
認します。これらのプログラムが存在しない場合configureスクリ
プトはエラーを出力して終了します。
* Apache Web Server version 1.3.x
- apxs
- apachectl
configureスクリプトはシステム上からapxsコマンドとapachectlコ
マンドを自動検索します。configureスクリプトによる自動検索を
おこなわず、使用するapxsコマンドもしくはapachectlコマンドの
パスを明示的に指定する場合は次のオプションを付加してconfigure
スクリプトを実行してください。
--with-apxs=/path/to/apxs
--with-apachectl=/path/to/apachectl
例えばユーザのホームディレクトリにインストールしたApacheとそ
の関連コマンドを使用してビルドする場合は次のようにconfigure
スクリプトを実行する必要があります。
% ./configure --with-apxs=/home/username/apache/bin/apxs --with-apachectl=/home/username/apache/bin/apachectl
% make
% make install
Apacheの設定:
-------------
mod_deny_deeplink.cを使用するためには、モジュールを組み込ん
だ上でApacheのhttpd.confや.htaccessなどで設定をおこなう必要
があります。
例としてDocumentRoot /path/to/htdocsで次のようなレイアウトの
Webサイトで
/path/to/htdocs/index.html
/path/to/htdocs/news/20030401-1.html
/path/to/htdocs/news/20030401-2.html
/news/20030401-1.htmlなどのリソースへのディープリンクを防止
し、必ず/index.htmlを経由してアクセスさせたい場合は次のよう
に設定します。
DenyDeeplinkStartingPoint On
DenyDeeplinkSecretKey "deny deeplink secret key for HMAC"
DenyDeeplinkTimeout 120
DenyDeeplink On
DenyDeeplinkRedirectURL http://example.jp/index.html
この設定をhttpd.confでおこないApacheを再起動すると、/newsの
レベルに直接アクセスすることはできなくなり、/のレベルにアク
セスすると120秒間/news/以下のレベルにアクセスできるようにな
ります。もし直接/newsのレベルにアクセスした場合は
DenyDeeplinkRedirectURLディレクティブで指定したURLにリダイレ
クトされます。
mod_deny_deeplink.cがApacheに追加するディレクティブは次のと
おりです。
* DenyDeeplink On|Off
ディープリンクを禁止するディレクトリを設定/設定の解除
をおこなう。上位のディレクトリでDenyDeeplinkStartingPoint
を設定すること。
* DenyDeeplinkStartingPoint On|Off
ディープリンクを禁止するコンテンツの基点となるディレク
トリを設定/設定の解除をおこなう。indexページを設置する
ディレクトリに設定する。
* DenyDeeplinkRedirectURL "URL"
ディープリンクを検知した際にリダイレクトするURLを設定す
る。デフォルトは"http://www.sankei.co.jp/"
* DenyDeeplinkSecretKey "random secret key"
ディープリンク検知用のHTTP Cookieのデータの署名に使用す
る秘密のキーワードを指定する。クラスタリングを行う場合は
クラスタ間で同じキーワードを設定すること。
* DenyDeeplinkTimeout TIMEOUT
DenyDeeplinkStartingPointで発行するHTTP Cookieの有効期限
を設定する。アクセスを許可する時間を秒数で指定する。ディー
プリンクせずに上位のディレクトリからアクセスを行った場合
でも、ここで指定した時間が経過した場合は再び
DenyDeepRedirectURLで指定したURLにリダイレクトする。
無指定の場合は60秒。
* DenydeeplinkCookieName NAME
ディープリンク検知用のHTTP Cookieで使用するkey名を設定す
る。無指定の場合は"mod_deny_deeplink"。