まんぼう日記

takataka's diary

記号的結合によりあなたの接近制御が迂回されてしまいます

何べんやり直してもあかんもんはあかんようです - まんぼう日記

だから生まれ変わってみました - まんぼう日記

の話のつづきですと言うたら,タイトルの意味バレバレですな (^^)

 

 

前回書いたウェブサーバの設定では,Apache の設定ファイル httpd.conf で DocumentRoot に対して AllowOverride を許しました.したがって,.htaccess ファイルを書けば,サーバの振る舞いをディレクトリ単位で制御できることになりました.

 

例えば,あるディレクトリ takataka/himichu に

order deny,allow
deny from all
allow from 133.83.0.0/16

という .htaccess を置いたら,IPアドレス 133.83.X.Y なホスト以外からこのディレクトリ内のファイル hoge.html にアクセスしても,

Forbidden

You don't have permission to access /takataka/himichu/hoge.html on this server.

みたいに言われることになるわけです.

 

一方,httpd.conf では,DocumentRoot に対して同様に,

Options FollowSymLinks

という設定もしていました.シンボリックリンクたどるよってわけです.ということは....himichu の外でかつ .htaccess によるアクセス制御してないようなディレクトリ内に,上記のファイル hoge.html に対するシンボリックリンクを作ったら....たとえば,

takataka/himichu-hoge.html -> takataka/himichu/hoge.html

となるようなシンボリックリンクを張ったら,himichu-hoge.html へのアクセスでは当然 himichu/.htaccess は参照してもらえないので,hoge.html の内容がどこからでも見えちゃうわけですね.

 

というわけで,こういうことになります (^^;

http://www-tlab.math.ryukoku.ac.jp/~takataka/himichu/hoge.html

 

あ,本当は上記のURLの例では,ユーザ毎のホームディレクトリの一部を公開する設定に関する httpd-userdir.conf の方が有効になってるので,そっちの

AllowOverride FileInfo AuthConfig Limit
Options MultiViews SymLinksIfOwnerMatch IncludesNoExec

が効いてる(FollowSymLinksじゃなくてSymLinksIfOwnerMatch)んですが,説明くどくなるので置き換えて説明してます.

 

まあ上記のようにファイルのリンクやとさすがに気づくでしょうが,ディレクトリのリンクやと,うっかりしがちです.というか,たかたかがつい忘れることがあったので,自戒をこめて記事にしとくことにしました.