« icalendarへのアクセスを制限する | Main | 散瞳薬×晴天 »

2011.05.16

icalendarへのアクセスを制限する(2)

ID/PWの要否は設定できたので、次はアクセス元の制限。もっとも、アクセス元を制限できるだけなので、「無関係のGoogleCalendarのユーザー」でも、URLがわかればアクセスできてしまうことになってしまいますが・・・(複雑なURLにしておくことである程度は防止することが可能ですが、それも完全というわけではありませんし)。

それはさておき、Apache側の設定。本当は、User-Agentと接続元のホスト名でダブルチェックを行おうとしたのですが、

・SetEnvIf では、デフォルトでは Remote_Host の情報は取得できない(逆引きしていない)
・全体的に逆引きを行うように変更するという方法もあるが、いろんな事情により、できれば避けたい。
・Allow ディレクティブは、基本的に OR での条件結合となる(SetEnvIfを組み合わせることで、ある程度は回避可能ですが(参考:ApacheのAllow, Denyディレクティブでand条件した))。そのため、Allowディレクティブでリモートホスト名を指定すると、User-AgentとのAND条件にできない
・IPアドレス範囲が公開されていないので、SetEnvIf の Remote_Addr での制御は困難。

といった状況に。

ただ、よくよく考えると、わざわざUser-Agentも含めて絞り込んでも、あまり意味はないような気がしてきたので、結局、

Allow from googlebot.com

だけを指定することにしました(もちろん、Deny等、他の設定もありますが)。

ちなみに、Allowでホスト名を指定している場合、そのAllowが定義されているURLに対してアクセスされた場合のみ、逆引きが発生するようで(Apacheのアクセスログから確認)。

■その他メモ
・w3mはオプション画面(o)からUser-Agentを簡単に変更可能なので、User-Agentでのチェックテストの際にも便利。

|

« icalendarへのアクセスを制限する | Main | 散瞳薬×晴天 »

Linux」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference icalendarへのアクセスを制限する(2):

« icalendarへのアクセスを制限する | Main | 散瞳薬×晴天 »