Index: [Article Count Order] [Thread]

Date: Fri, 14 Oct 2005 06:46:53 +0900 (JST)
From: GOTOU Yuuzou <gotoyuzo@notwork.org>
Subject: [webrickja:149] Re: ユーザディレクトリについて
To: webrickja@notwork.org
Message-Id: <20051014.064653.846932232.gotoyuzo@sawara.does.notwork.org>
In-Reply-To: <138c85610510091052j5842b9d3u@mail.gmail.com>
References: <138c85610510091052j5842b9d3u@mail.gmail.com>
X-Mail-Count: 00149

あれこれ考えていると返事が遅くなってしまいました。

In message <138c85610510091052j5842b9d3u@mail.gmail.com>,
 `Hiroyuki Iwatsuki <don@na.rim.or.jp>' wrote:
> これはHTTPServer.newのオプションに :DocumentRoot を与えると、自動的に / に FileHandler が
> mountされることから始まって、FileHandler#serviceでユーザディレクトリの参照が可能となります。加えてwebrick.rbを読み込むとCGIHandlerが登録され、ユーザディレクトリ以下のCGIが起動可能となります。

~username/public_html を勝手に参照するというのはあまり実用的
でもないので、デフォルトで無効になっていたほうがよさそうです
ね。この機能を丸ごと外してももよいかもしれませんが、
WEBrick::Config::FileHandler[:UserDir]のデフォルトをnilにし
ようかと考えています。

FileHandlerが*.cgiを起動するのがデフォルトの挙動としてふさわ
しくないと言うのも理解できます。しかし、(少なくとも1.8では)
今更外すことに抵抗を感じるのも事実です。まあ、FileHandlerは
そういうものであると私は考えていますが、いかがでしょうか。

ちなみに、無効にするには、

  WEBrick::HTTPServlet::FileHandler.remove_handler("cgi")
  WEBrick::HTTPServlet::FileHandler.remove_handler("rhtml")

などとすればよいと思います。

> # なんとなく「そんなことは既知(もしくは当たり前)なんだから自己責任だろう」と言われるような気もしてます。

現状の挙動が当り前だというのはさすがに乱暴でしょうね。

-- 
ごとうゆうぞう