[#29170] Call for Papers Linux Conference 2001 — akira yamada / やまだあきら <akira@...>

18 messages 2001/04/10
[#30213] Re: Call for Papers Linux Conference 2001 — akira yamada / やまだあきら <akira@...> 2001/06/13

[#29190] Time Stamp Copy of File.copy — "たけ(tk)" <ggb03124@...>

 ftools.rb の move では utime を行っていて日付が同じになりますが、copy

42 messages 2001/04/11
[#29193] Re: Time Stamp Copy of File.copy — matz@... (Yukihiro Matsumoto) 2001/04/11

まつもと ゆきひろです

[#29201] Re: Time Stamp Copy of File.copy — " たけ (tk)" <ggb03124@...> 2001/04/11

たけ(tk)です。

[#29203] Re: Time Stamp Copy of File.copy — WATANABE Hirofumi <eban@...> 2001/04/11

わたなべです.

[#29212] Re: Time Stamp Copy of File.copy — Minero Aoki <aamine@...> 2001/04/12

あおきです。

[#29215] Re: Time Stamp Copy of File.copy — " たけ (tk)" <ggb03124@...> 2001/04/12

たけ(tk)です。

[#29220] Re: Time Stamp Copy of File.copy — Minero Aoki <aamine@...> 2001/04/12

あおきです。

[#29234] Re: Time Stamp Copy of File.copy — " たけ (tk)" <ggb03124@...> 2001/04/13

たけ(tk)です。

[#29236] Re: Time Stamp Copy of File.copy — matz@... (Yukihiro Matsumoto) 2001/04/13

まつもと ゆきひろです

[#29238] Array#include! — " たけ (tk)" <ggb03124@...> 2001/04/13

たけ(tk)です。

[#29244] Re: Array#include! — matz@... (Yukihiro Matsumoto) 2001/04/13

まつもと ゆきひろです

[#29348] Open3 — NISHIO Mizuho <mzh@...>

どうも西尾です。

16 messages 2001/04/20

[#29397] rnet.rb 〜高レベルネットライブラリ〜 — rubikitch <rubikitch@...>

るびきちです。

11 messages 2001/04/24

[ruby-list:29295] Re: [bug?] cgi.rb

From: Wakou Aoyama <wakou@...>
Date: 2001-04-17 05:09:45 UTC
List: ruby-list #29295
青山です。

毎度ながら、リリース直前で申し訳ありません。

まず、このコードについてですが、Cookie を生成する場合に、path を指定し
なかった場合、IE がおかしな挙動をする為に、とりあえず、無難そうな path
を自動でつけてあげて、救済しようか、というコードです。

従って、本質的には、Cookie を生成する場合に、ちゃんと path を指定して
欲しい、という使用方法になり、この部分については、まあ、基本的には、保
証外という感じになります。

それを前提として、その救済策の内容についてですが、CGI.pm 2.752 では、
次のように、とてもシンプルになっています。

>  $path   ||= "/";

これはつまり、/ にしておけば、そのサイトにおいては、無条件に有効になり
ますから、使えないよりはいいだろう、という方針だったとおもわれます。

そして、CGI.pm 3.01 では、次のようになっています。

>         if ($path)
>         {
>             $path = "path=$path"
>         }
>         elsif (defined $ENV{'SCRIPT_NAME'})
>         {
>             $path = join('',"path=",$ENV{'SCRIPT_NAME'} =~ m{^(.*/)});
>         }

SCRIPT_NAME がある場合には、それで救済しよう、という方針ですね。これは、
cgi.rb でも採用していますが、どうやら、このあたりが無難だったようです。

今回問題となっている、PATH_INFO ですが、これは、使用すべきでは無い、と
いう記述がありました。

CGI.pm 3.01 より
> NOTE: The Microsoft Internet Information Server
> is broken with respect to additional path information.  If
> you use the Perl DLL library, the IIS server will attempt to
> execute the additional path information as a Perl script.
> If you use the ordinary file associations mapping, the
> path information will be present in the environment,
> but incorrect.  The best thing to do is to avoid using additional
> path information in CGI scripts destined for use with IIS.

従って、元々、無指定だった場合の救済策ですから、ここは、CGI.pm 3.01 の
ように、無理に救済しようとせず、PATH_INFO からの path の判定そのものを
削除、という方向でいいようにおもえます。


-- 
青山 和光 Wakou Aoyama  <wakou@fsinet.or.jp>

In This Thread