プログラム質問箱一括表示
[表示範囲:301〜400][スレッドモード]
[RE]
Subject: Re: 550 Permission denied.とでます。何故?
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/06/05 06:36:29
Reference: mesh.program/00299
6月4日に、nezさんは書きました。
>6月4日に、カツさんは書きました。
>
>>cute FTPの場合は、[Commands]- [Make new dir] で、新しいディレクトリを作る事が出来ます。
>>
>>宜しければ、参考にして下さい。
>うるうる(T_T)
>できません。
>上の方法でやると、550 Permission denied.とでてうまくいきません。
>
ご自分のホームディレクトリのパーミッションはどうなっていますか?
例えば Win95 付属の FTP などで接続して ls -la コマンドを入力すると、
"."(カレント) ディレクトリのオーナやパーミッションが分かると思いますが、
自分の権限で書き込みが出来ないようですと当然ディレクトリは作成できません。
ホームディレクトリのオーナが自分の時にはパーミッションを変えられますから
書き込み可能なパーミッションにしてからディレクトリ作成を試して下さい。
# 1号機など SunOS のマシンでは、ホームディレクトリのオーナは自分で、
# 初期のパーミッションは 755 だと思いましたのでディレクトリ作成などは
# 自由に出来ますが、www2s は HPマシンなので運用が違う可能性がありますね。
## もちろん、初めてアクセスした時、すぐにホームディレクトリのパーミッションは
## 701 に変えましたが。(^^;;
[RE]
Subject: Re: 私のサーバではできないようです(T_T)
From: nez
<nez@jsn.justnet.or.jp >
Date: 1997/06/05 22:34:11
Reference: mesh.program/00301
6月5日に、にあさんは書きました。
># 1号機など SunOS のマシンでは、ホームディレクトリのオーナは自分で、
># 初期のパーミッションは 755 だと思いましたのでディレクトリ作成などは
># 自由に出来ますが、www2s は HPマシンなので運用が違う可能性がありますね。
みなさんの意見を聞いた上で、直接BIGLOBEに尋ねてみました。
以下は、その返答です。
>本来、public_htmlディレクトリ以外は、弊社の管理用となっております。
> そのため、お客さまの側でpublic_htmlディレクトリ以外にディレクトリを作成したり、ファイルを作成することは出来ません。
> お客さまには申し訳ございませんが、ご理解ご了承戴けますようお願い申しあげます。
だそうです。
がーん。ほかのサーバはOKなのに・・・なんて不幸な・・・・。あきらめます。
皆様、多くの意見ありがとうございました。悲しいけど、これで締めます。うっうぅ・・・(T_T)(こればっか)
[RE]
Subject: どうしたの?>BIGLOBE
From: Yasu.F
<yasuf@ariake.or.jp >
Date: 1997/06/06 03:38:08
Reference: mesh.program/00305
6月5日に、nezさんは書きました。
>>本来、public_htmlディレクトリ以外は、弊社の管理用となっております。
うーん。
うーーーーん。
何がどう「本来」なのか意味不明ですね^^;
まぁ管理者側がそう言っているのなら仕方無いんですが、
・一般的に、ユーザ個人が比較的自由に管理できるはずの
ホームディレクトリ以下が操作できない
・他のサーバなら可能(ですよね?>BIGLOBEな方々)なのに、
特定のサーバにだけ制限をかけている
という点で疑問が残りますねぇ…
# 「困るからサーバ移動させろ」って言っても無理だろうなぁ
[RE]
Subject: Re: どうしたの?>BIGLOBE
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/06/06 08:59:16
Reference: mesh.program/00306
6月6日に、Yasu.Fさんは書きました。
>6月5日に、nezさんは書きました。
>
>>>本来、public_htmlディレクトリ以外は、弊社の管理用となっております。
>
>うーん。
>うーーーーん。
>
うーん。(^^;;
>何がどう「本来」なのか意味不明ですね^^;
>
>まぁ管理者側がそう言っているのなら仕方無いんですが、
>・一般的に、ユーザ個人が比較的自由に管理できるはずの
> ホームディレクトリ以下が操作できない
>
まあ、mesh の言うことも理解出来なくは無いんです。
ご存じだとは思いますが、meshはshell環境を開放していないのでアクセスはFTP経由に
なる訳なんですけど、FTPも各ユーザのホームディレクトリにchrootする形になっています。
つまりは anonymous ftp で接続したときの様にホームディレクトリより上には戻れない
様になっていますし、ホームディレクトリの中には /bin とか /etc とかのいじれない
ディレクトリも存在するし、/public_html もあらかじめ出来ていたのですよ。(たしか)
で、おそらくは最初からユーザには /public_html しか使わせない想定だったんじゃ
ないかと思うのですよ。ただ、現実はさういふ設定になっていなかっただけで。(^^;;
# と邪推しています。(^^;;
>・他のサーバなら可能(ですよね?>BIGLOBEな方々)なのに、
> 特定のサーバにだけ制限をかけている
>という点で疑問が残りますねぇ…
>
ですね。実際他のサーヴァの人たちは使えるのに、www2s だけ使えないと言うのは
チョット不公平だと思うので、サポートにアピールしてみてはいかがでしょうか?
もしかすると変更してくれるかも... しれない... かな? (^^;;
[RE]
Subject: Re: どうしたの?>BIGLOBE
From: nez
<nez@jsn.justnet.or.jp >
Date: 1997/06/06 12:04:25
Reference: mesh.program/00307
>>・他のサーバなら可能(ですよね?>BIGLOBEな方々)なのに、
>> 特定のサーバにだけ制限をかけている
>>という点で疑問が残りますねぇ…
>>
>ですね。実際他のサーヴァの人たちは使えるのに、www2s だけ使えないと言うのは
>チョット不公平だと思うので、サポートにアピールしてみてはいかがでしょうか?
>もしかすると変更してくれるかも... しれない... かな? (^^;;
確かに私のとこだけ駄目というのも納得いきませんよね。ということでサポートにメールを出してみました。
どうなるのでしょうか。分かりませんが、回答があったらここでお知らせします。
[RE]
Subject: Re: やっぱり駄目みたいです。
From: nez
<nez@jsn.justnet.or.jp >
Date: 1997/06/07 12:44:53
Reference: mesh.program/00308
6月6日に、nezさんは書きました。
>>ですね。実際他のサーヴァの人たちは使えるのに、www2s だけ使えないと言うのは
>>チョット不公平だと思うので、サポートにアピールしてみてはいかがでしょうか?
>>もしかすると変更してくれるかも... しれない... かな? (^^;;
>
>確かに私のとこだけ駄目というのも納得いきませんよね。ということでサポートにメールを出してみました。
>どうなるのでしょうか。分かりませんが、回答があったらここでお知らせします。
ということで、返答が返ってきました。
)通常、public_htmlディレクトリ以外のディレクトリにファイルを置いてもWeb上から参照することは出来ません。
)通常はpublic_htmlディレクトリ内以外にファイルを置く必要性はございません。
)
)例えばお客さまが、Web上からは参照できず、プログラムから参照させたいファイルを作成されたいのであれば、
)そのファイルのパーミッションを700等としては如何でしょうか。
だそうです。
何故www2sだけできないのかは説明がありませんでしたが、
やっぱりpublic_htmlディレクトリ以外は使われる意図がないようです。
(「必要性ない」とまで言われてしまった。)
「パーミッション700にしてはいかがでしょうか」と言われてしまいましたが、大丈夫なんでしょうか。
アクセス制限をするものを作りたいのですが、駄目のような気が・・・。
[RE]
Subject: Re: やっぱり駄目みたいです。
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/06/07 14:21:23
Reference: mesh.program/00309
6月7日に、nezさんは書きました。
>>確かに私のとこだけ駄目というのも納得いきませんよね。ということでサポートにメールを出してみました。
>>どうなるのでしょうか。分かりませんが、回答があったらここでお知らせします。
>
>ということで、返答が返ってきました。
>)通常、public_htmlディレクトリ以外のディレクトリにファイルを置いてもWeb上から参照することは出来ません。
>)通常はpublic_htmlディレクトリ内以外にファイルを置く必要性はございません。
>
うーん、ダメでしたか。(^^;;
# 「必要性」は沢山々々あるのですけどね。(^^)
>)例えばお客さまが、Web上からは参照できず、プログラムから参照させたいファイルを作成されたいのであれば、
>)そのファイルのパーミッションを700等としては如何でしょうか。
>だそうです。
>何故www2sだけできないのかは説明がありませんでしたが、
>やっぱりpublic_htmlディレクトリ以外は使われる意図がないようです。
>
どうもそのようですね。
# だったらユーザによるアクセス制限をかけられるようにしてくれ > Mesh
>「パーミッション700にしてはいかがでしょうか」と言われてしまいましたが、大丈夫なんでしょうか。
>
ダメです。(^^;;
CGIプログラムは cgiwrap や Apache にある "SetUID CGI Execution " のような
特殊な方法を採らない限りサーヴァ権限で実行されますので、ユーザ所有のファイルの
パーミッションを 700 にしてしまっては CGIからも読めなくなります。(^^;;
つまり、CGI から読めるファイルをホームペーヂ以下に置いた場合、それは、必ず
ブラウザからも読めることになります。
では、ホームペーヂ以下に置いた場合、全然セキュリティーを保つことが出来ないの
かと言うと、そんなこともないです。
例えば参照されたくないファイルを "何とか.cgi" の様にしてサーヴァに CGI と
思わせておいて、なおかつ実行パーミッションを落としておけば、ブラウザから
"何とか.cgi" を読み込んでもサーヴァエラーになるだけで内容は分かりません。
もちろん他の CGI からは実行パーミッションの有無にかかわらず読めますから
CGI の実行上も問題ないです。
# 他にもこの様な、ユーザによるアクセス制限が許されていない場合に使える
# 「小手先セキュリティ確保」の方法はあるかもしれません。(笑)
[RE]
Subject: Re: 550 Permission denied.とでます。何故?
From: Yasu.F
<yasuf@ariake.or.jp >
Date: 1997/06/05 06:49:21
Reference: mesh.program/00300
6月5日に、カツさんは書きました。
>550 Permission denied とわ、パーミションが 550に設定されてると思いますので、
…ではなくて、「Permission denied」というエラーの
エラーコードが550だということです(本当は逆なんですが)。
net surfin'をしていると時たまお目にかかる、
「404 Not Found」とか「500 Server Error」などと、
本質的には同じような意味ですね(^^)
CuteFTPやFetchなどのFTPクライアントは、ふつうは
この「550」などの数字を見て、何が起こったのかを
判断します。「Permission denied」は人間が見て
分かるように付け加えられているということです。
[NEW]
Subject: Yasu.F<有り難うございます。
From: カツ
<katu@mxc.meshnet.or.jp >
Date: 1997/06/05 20:32:11
僕の勘違いを、指摘して下さって有り難うございました。
[NEW]
Subject: NT用のシェルプログラムは・・
From: 北澤@BADKID
<badkid@mxb.meshnet.or.jp >
Date: 1997/06/14 22:20:40
北澤@BADKIDです ずっとROM状態でしたが・・
さて、NT用の sh とか csh とかがあるそうなのですが、どこにあるのか
ご存じでしたら教えてくださいませ m(__)m
P,S
最近1号機のリアクションが早くなりましたね (^^)
にあさんの会議室に来るのも気合いが必要だったのですが、最近は安心して
巡回できます (^^)v
[RE]
Subject: Re: NT用のシェルプログラムは・・
From: こん
<PXC06010@niftyserve.or.jp >
Date: 1997/06/16 07:49:21
Reference: mesh.program/00311
6月14日に、北澤@BADKIDさんは書きました。
> 北澤@BADKIDです ずっとROM状態でしたが・・
こんにちわ、こんでございます。おなじくずっとROMですが、、、。
> さて、NT用の sh とか csh とかがあるそうなのですが、どこにあるのか
>ご存じでしたら教えてくださいませ m(__)m
御希望に添うものがあるかわかりませんが以下の所など、如何でしょうか?
The GNU-Win32 Project Page
[RE]
Subject: Re: NT用のシェルプログラムは・・
From: 北澤@BADKID
<badkid@mxb.meshnet.or.jp >
Date: 1997/06/17 07:43:11
Reference: mesh.program/00312
6月16日に、こんさんは書きました。
>6月14日に、北澤@BADKIDさんは書きました。
>
>> 北澤@BADKIDです ずっとROM状態でしたが・・
>
>こんにちわ、こんでございます。おなじくずっとROMですが、、、。
>
>> さて、NT用の sh とか csh とかがあるそうなのですが、どこにあるのか
>>ご存じでしたら教えてくださいませ m(__)m
>
>御希望に添うものがあるかわかりませんが以下の所など、如何でしょうか?
>The GNU-Win32 Project Page
こんにちは北澤@BADKIDです
こんさん、ありがとうございました。早速行ってみました
全部英語なので少々苦労しましたが・・・ (^^;
bashですね、少し勉強してみます。 ありがとう
[RE]
Subject: Re: NT用のシェルプログラムは・・
From: 北澤@BADKID
<badkid@mxb.meshnet.or.jp >
Date: 1997/06/20 07:32:48
Reference: mesh.program/00313
北澤@BADKIDです。
自己レスですが・・・
私はNTでwwwの構築をしているのです。その中でどうしてもsh関係のものが
必要でした。紹介していただいた「bash」もダウンロードしてきましたが
コンパイルしないといけないのですね。 bashをコンパイルするのにPC内で
shが使えないとコンパイル出来ないのでしょうか。 NT環境でコンパイルする
方法を教えてくださいませんか m(__)m
[RE]
Subject: Re: NT用のシェルプログラムは・・
From: こん
<PXC06010@niftyserve.or.jp >
Date: 1997/06/20 19:19:14
Reference: mesh.program/00321
6月20日に、北澤@BADKIDさんは書きました。
> 北澤@BADKIDです。
>
> 自己レスですが・・・
>私はNTでwwwの構築をしているのです。その中でどうしてもsh関係のものが
>必要でした。紹介していただいた「bash」もダウンロードしてきましたが
>コンパイルしないといけないのですね。 bashをコンパイルするのにPC内で
>shが使えないとコンパイル出来ないのでしょうか。 NT環境でコンパイルする
>方法を教えてくださいませんか m(__)m
すみません。ソースのみでしたか、、、。
古い記憶とbookmarkだけで書いてしまったのでご迷惑をおかけしてしまいました。m(__)m
コンパイルは、gccがあれば出来ますがこれとってくるのも、セットアップも大変だとおもう
ので(gccがどこにあったか思い出せない(^^;;同じ所だったかな?)、、、。
別件でwebをうろうろしていたら御希望にあいそうなものを見つけました。
http://www.rarf.riken.go.jp/archives/pc/CICA/winnt/misc/
にある、ntsh01.zipです。
他にも色々とバイナリで置いてあったので便利かと思います。
[RE]
Subject: Re: NT用のシェルプログラムは・・
From: 北澤@BADKID
<badkid@mxb.meshnet.or.jp >
Date: 1997/07/01 23:22:26
Reference: mesh.program/00325
こんさん、こんにちは
お礼が遅くなりましたがやっと「bash」も動くようになりました。
まだ設定が今ひとつなのと「bash」のshコマンドがparlと同じように
使えない物があるようで頭をひねっております(^^;
NTなどWIN環境で完全にunixのプログラムが作動するなら
苦労はないのにとブツブツ言っているこの頃です。
英語の読解力が無いことを痛切に感じていますよ(^^;
[NEW]
Subject: にあさんへ
From: TAD
<hotani@mxt.meshnet.or.jp >
Date: 1997/06/17 15:14:10
にあさん、こんにちは。
2点ほど質問させて下さい。
ひとつめ。
「npc.cgiの部屋」で
にあさん># あたしは汎用shell代わりのCGIを書いて使っていますです。(^^;;
ということですが、このCGIは ぱーる で書いたのですか、それとも しぇる ですか?
以前作ってみたのですが、うまく動きませんでした。(^^;;
パールの時は、system()を使って見たんですが、dateとかの簡単なコマンドしか
実行できなかったような。
あと、こういうCGIはパスワードかけないと危ないですよね。
ふたつめ。
ようやく、wwwstatをウェブ上で動くようにできまして、いろいろと実験中なのですが、
にあさんの所で提供しているサービスを参考までに教えていただけないでしょうか。
たぶん、自分のwebサーバのidをキーにしてのArchive Statisticsが
メインではないかと思うのですが、他には何か提供しているのでしょうか?
サーバのtop10とかは、ちょ〜重いので
(もちろん $TruncateLevel = 1;にはしてますが、実行できないこともあります。
"インターネットサイト http://〜/wwwstat.cgi が開けません。処理は正常終了しました。"
とか言われてしまいます。
これhttpdのエラーログには何も出力されてないので、確かにエラーではないみたいだけど...)
そのサーバのユーザでもやっぱり見せないのでしょうか?
差し支えなければ、教えて下さい。m(_ _)m
あっ、あともうひとつだけ。
うちのサーバ(www2f)のhttpdログには referer情報がないのですが、
(ログの2番目の項目って"referer情報"じゃないんでしたっけ?)
そちら(www2)はどうなのですか?
それが結構、有用な情報なのに...
以上、お暇なときにでもよろしくお願いします。m(_ _)m
[RE]
Subject: 汎用shell CGIなど
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/06/18 09:03:38
Reference: mesh.program/00314
6月17日に、TADさんは書きました。
>にあさん># あたしは汎用shell代わりのCGIを書いて使っていますです。(^^;;
>
>ということですが、このCGIは ぱーる で書いたのですか、それとも しぇる ですか?
>
perlです、が中で sh を起動しています。もちろん。
これは、自分で sh への入出力をパイプで開けておいてから別プロセスとして動かす
ものです。多少 Unix の子プロセス起動を知っていればかける程度の簡単なものです。
>あと、こういうCGIはパスワードかけないと危ないですよね。
>
そうですね。こういう何でもありな CGI を動かす時には、セキュリティには気を付ける
必要があります。
# あたしは、固定 IP 持っているので、そこからアクセスした時でないと動かない
# ようにしています。
>たぶん、自分のwebサーバのidをキーにしてのArchive Statisticsが
>メインではないかと思うのですが、他には何か提供しているのでしょうか?
>
wwwstat 関係はそれだけです。はじめは色々やろうかとも思っていたのですが、
ユーザがほんの数人に限られているので... (^^;;
> "インターネットサイト http://〜/wwwstat.cgi が開けません。処理は正常終了しました。"
> とか言われてしまいます。
> これhttpdのエラーログには何も出力されてないので、確かにエラーではないみたいだけど...)
>そのサーバのユーザでもやっぱり見せないのでしょうか?
>
これは、サーヴァのタイムアウトに引っかかってしまったのでは無いでしょうか。
うちでは長い処理をオンラインでやりたい時には、毎秒1バイトずつ意味のない
データを送ってタイムアウトを防いでいます。もっとも、そんなに長い間オンラインで
いるのは辛い (^^;; との要望に従って、オフラインで出来るようにもなっていますが。
# やはり別プロセスの起動です。
>うちのサーバ(www2f)のhttpdログには referer情報がないのですが、
>(ログの2番目の項目って"referer情報"じゃないんでしたっけ?)
>そちら(www2)はどうなのですか?
>それが結構、有用な情報なのに...
>
此処のログは CLF (Common Log Format) なので、Referer情報は無いです。(;_;)
Refererがあると有用なんですけどね。
### おっと、時間切れだ。(^^;;
[RE]
Subject: Re: 汎用shell CGIなど(度々すみません)
From: TAD
<hotani@mxt.meshnet.or.jp >
Date: 1997/06/18 18:40:18
Reference: mesh.program/00316
6月18日に、にあさんは書きました。
早速の回答有り難うございます。
(一部抜粋)
>perlです、が中で sh を起動しています。もちろん。
>
>これは、自分で sh への入出力をパイプで開けておいてから別プロセスとして動かす
>ものです。多少 Unix の子プロセス起動を知っていればかける程度の簡単なものです。
(^^;; 勉強します。
UNIXマシンは周りにありますので...
(ちなみにHP-UXもあります。)
>そうですね。こういう何でもありな CGI を動かす時には、セキュリティには気を付ける
>必要があります。
># あたしは、固定 IP 持っているので、そこからアクセスした時でないと動かない
># ようにしています。
なるほど、そういう方法もありますね。
>wwwstat 関係はそれだけです。はじめは色々やろうかとも思っていたのですが、
>ユーザがほんの数人に限られているので... (^^;;
す、数人ですか。(^^;;
使ってる人、もっといるのかと思ってたんですけど...
'wwwstat'必要としてる人は少ないんでしょうか?
面白いと思うんだけどなぁ。
www2fでの公開はやめようかな。
>これは、サーヴァのタイムアウトに引っかかってしまったのでは無いでしょうか。
>うちでは長い処理をオンラインでやりたい時には、毎秒1バイトずつ意味のない
>データを送ってタイムアウトを防いでいます。
この「データを送る」というのは、サーバ側から?それともクライアント側(ブラウザ)から?
どんな風にやるのでしょうか?
>もっとも、そんなに長い間オンラインで
>いるのは辛い (^^;; との要望に従って、オフラインで出来るようにもなっていますが。
># やはり別プロセスの起動です。
もちろん非同期の別プロセスということですよね。
とすると、結果はどうやって見るんでしょうか?
結果をファイルに落とすんですか?
>此処のログは CLF (Common Log Format) なので、Referer情報は無いです。(;_;)
>Refererがあると有用なんですけどね。
そうなんですか。残念です。
とすると、にあさんとこの統計情報の「Forum/index.htmlへのReferer情報」
はどうやって取ってるんですか?
>### おっと、時間切れだ。(^^;;
お忙しいとこ、仕事の合間に有り難うございました。m(_ _)m
と言いながら、またまた質問しちゃってますが... (^^;;
[RE]
Subject: Re: 汎用shell CGIなど(度々すみません)
From: まじん
<majin@mxp.meshnet.or.jp >
Date: 1997/06/19 10:32:09
Reference: mesh.program/00317
6月18日に、TADさんは書きました。
>す、数人ですか。(^^;;
>使ってる人、もっといるのかと思ってたんですけど...
>'wwwstat'必要としてる人は少ないんでしょうか?
><font size=-1>面白いと思うんだけどなぁ。
>www2fでの公開はやめようかな。</font>
先月までは、その数人の一人でしたが、引っ越してサービスが受けられなく
なったので、私も自分のサイトに移植すべく、スクリプトをもらってきたのですが、
ログがどこにあるのか、わからずに困ってます。
いや、lsコマンドで-Rして、探しまくったのですが、
それらしいファイルって、サイズが小さすぎて、どうも違うようだし、
いったいどこにあるのでしょう?
より、切実に欲しいのはエラーログです。(デバッグが面倒)
と、自分のことばかり書きましたが、数は少ないとはいえ有用です。
是非、公開できるのなら、してはいかがでしょうか?
>>これは、サーヴァのタイムアウトに引っかかってしまったのでは無いでしょうか。
>>うちでは長い処理をオンラインでやりたい時には、毎秒1バイトずつ意味のない
>>データを送ってタイムアウトを防いでいます。
>
>この「データを送る」というのは、サーバ側から?それともクライアント側(ブラウザ)から?
>どんな風にやるのでしょうか?
>
>>もっとも、そんなに長い間オンラインで
>>いるのは辛い (^^;; との要望に従って、オフラインで出来るようにもなっていますが。
>># やはり別プロセスの起動です。
>
>もちろん非同期の別プロセスということですよね。
>とすると、結果はどうやって見るんでしょうか?
>結果をファイルに落とすんですか?
>
>
>>此処のログは CLF (Common Log Format) なので、Referer情報は無いです。(;_;)
>>Refererがあると有用なんですけどね。
>
>そうなんですか。残念です。
>とすると、にあさんとこの統計情報の「Forum/index.htmlへのReferer情報」
>はどうやって取ってるんですか?
index.htmlについては、
Java scriptから情報をとって、CGIに渡して記録してるはずです。
どこの会議室か忘れてましたが、にあさんがスクリプト付きで、
少なくとも、一度は、公開してました。
環境によると思いますが、
たぶん、この下のstat.cgiさえ自作すれば、うまく動くと思う。
(あ、にあさんのスクリプトです。)
<SCRIPT LANGUAGE="JavaScript">
<!-- begin hiding
document.write("<A HREF='/~nir/Forum/stat.cgi'><IMG SRC='/~nir/Forum/stat.cgi?referer="
+ escape(document.referrer) + "&agent=" + escape(navigator.userAgent)
+ "' BORDER='0' ALIGN='right'></A>");
// end hiding -->
</SCRIPT>
index.cgiは、そのscript中で、同じファイルに情報を貯えるように
してるのだと思う。
にあさんへ
上記の内容ですが、まずかったら、断りなく削除して下さい。
#同じ質問が繰り返されるようなので、つい書いてしまいました。ごめんなさい。
[RE]
Subject: wwwstatの有用性,.htmlのReferer情報の取り方(まじんさんありがとう)
From: TAD
<hotani@mxt.meshnet.or.jp >
Date: 1997/06/19 11:13:15
Reference: mesh.program/00318
6月19日に、まじんさんは書きました。
>6月18日に、TADは書きました。
>
>>'wwwstat'必要としてる人は少ないんでしょうか?
>
>先月までは、その数人の一人でしたが、引っ越してサービスが受けられなく
>なったので、私も自分のサイトに移植すべく、スクリプトをもらってきたのですが、
>ログがどこにあるのか、わからずに困ってます。
>いや、lsコマンドで-Rして、探しまくったのですが、
>それらしいファイルって、サイズが小さすぎて、どうも違うようだし、
>いったいどこにあるのでしょう?
そうですよね。ログの在処がわからないと始まりませんよね。
私はスクリプト作って、探しました。
で、ファイルの見当を付けたら、そのファイルの何バイト分かを読みとって
表示させて見ました。
>より、切実に欲しいのはエラーログです。(デバッグが面倒)
これ見られると、デバッグはばっちしですよね。
スクリプト作ってる人にとっては、とても重宝。
あっ、もちろんWEB上で実行する前にシェルやローカルなマシン上で
テストはしましょうね。>スクリプト自作者(スクリプト設置者含む)
>と、自分のことばかり書きましたが、数は少ないとはいえ有用です。
>是非、公開できるのなら、してはいかがでしょうか?
その言葉で、また少し意欲が沸いてきました。
ちょっと頑張ってみます。
>>とすると、にあさんとこの統計情報の「Forum/index.htmlへのReferer情報」
>>はどうやって取ってるんですか?
>
>index.htmlについては、
>Java scriptから情報をとって、CGIに渡して記録してるはずです。
Javaだったんですか。
SSI使えなくてもJavaで似たようなことは、できるんですね。
早速、Forum/index.html を見てみましたが、なるほど確かに
Java scriptが埋め込まれてますね。
>どこの会議室か忘れてましたが、にあさんがスクリプト付きで、
>少なくとも、一度は、公開してました。
それは知りませんでした。探してみます。
結構、書かさず読んでたつもりなんですけど... (^^;;
>にあさんへ
>上記の内容ですが、まずかったら、断りなく削除して下さい。
>#同じ質問が繰り返されるようなので、つい書いてしまいました。ごめんなさい。
私もレス付けてしまいましたが、まずければ断りなく削除して下さい。(^^;;
[RE]
Subject: Re: 汎用shell CGIなど
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/06/20 07:03:49
Reference: mesh.program/00317
6月18日に、TADさんは書きました。
>>うちでは長い処理をオンラインでやりたい時には、毎秒1バイトずつ意味のない
>>データを送ってタイムアウトを防いでいます。
>この「データを送る」というのは、サーバ側から?それともクライアント側(ブラウザ)から?
>どんな風にやるのでしょうか?
>
サーヴァからです。
単に子プロセスから処理が返ってくるまでの間、バッファリングしない標準出力に
"."を10秒に一回(1秒では無かったです(^^;;)送っているだけです。定期的にデータを
送ることが出来れば接続は切らないので。
>とすると、結果はどうやって見るんでしょうか?
>結果をファイルに落とすんですか?
>
そうです。ユーザに対するサーヴィスなので、ユーザのホームディレクトリ以下の
どこかに書けるようにしています。
# ホームディレクトリより上には書けないようにしています。(^^;;
>とすると、にあさんとこの統計情報の「Forum/index.htmlへのReferer情報」
>はどうやって取ってるんですか?
>
これはまじんさんのフォローアップの通りです。以前に出した記事とは、
「何でも掲示板」の225番記事 ですね。
# フォローアップで書いたので「プログラム質問箱」では無かったのです。(^^;;
[RE]
Subject: Re: 汎用shell CGIなど+JavaによるReferer
From: TAD
<hotani@mxt.meshnet.or.jp >
Date: 1997/06/20 11:57:56
Reference: mesh.program/00320
回答、有り難うございます。
6月20日に、にあさんは書きました。
>サーヴァからです。
>
>単に子プロセスから処理が返ってくるまでの間、バッファリングしない標準出力に
>"."を10秒に一回(1秒では無かったです(^^;;)送っているだけです。定期的にデータを
>送ることが出来れば接続は切らないので。
なるほど、わかりました。
(バッファリングしない 標準出力というのが、ちょっと?ですが、これは勉強します。)
>そうです。ユーザに対するサーヴィスなので、ユーザのホームディレクトリ以下の
>どこかに書けるようにしています。
そっか。そうですね。ユーザのホームディレクトリ以下に書けばいいのか。
それは気付きませんでした。なるほど
># ホームディレクトリより上には書けないようにしています。(^^;;
自分のディスクスペース以外を使っちゃいけませんよね。(^_^;;
でも、見つかりにくい所(ディレクトリ階層の奥深くとか)を勝手に使っちゃったりして... (#^_^#)
いや、うそです。そんなことはしませんよ。(^^;;
>>とすると、にあさんとこの統計情報の「Forum/index.htmlへのReferer情報」
>>はどうやって取ってるんですか?
>>
>これはまじんさんのフォローアップの通りです。以前に出した記事とは、
>「何でも掲示板」の225番記事 ですね。
># フォローアップで書いたので「プログラム質問箱」では無かったのです。(^^;;
わかりました、ありがとうございます。お手数かけてすみませんでした。
で、(ほんとはここで終わるはずだったんですが、また問題提起してしまいます m(_ _)m )
早速テストしてみたんですが、Refererが正しく表示されないんですけど...
下のようにすると私のブラウザ(MSIE 3.01b)では
Refererにはこの記事のURLが表示されてしまいます。
---------------
---------------
もちろん他のページ、たとえば記事一覧のリンクから表示させてるのに...
本来であれば、その場合はcontents.cgiのURLが表示されるんですよね。
あと、試しに わたしの会議室のテストの部屋から
http://www2.meshnet.or.jp/~nir/Forum/index.html にリンクしてみたのですが、
にあさんとこの統計情報に わたしの会議室のテストの部屋の記事のURLは
追加されませんでした。
代わりに http://www2.meshnet.or.jp/~nir/Forum/index.html が+1されてました。(^^;;
これっておかしいですよね。
やっぱりMSIEだからなのでしょうね?
#Javaの実行に関しては、NNよりMSIEの方が優れているんじゃなかったのか!>MS
[RE]
Subject: Re: 汎用shell CGIなど+JavaによるReferer
From: えぢまっく
<ejimac@po.kumagaya.or.jp >
Date: 1997/06/20 12:55:23
Reference: mesh.program/00322
6月20日に、TADさんは書きました。
>
>で、(ほんとはここで終わるはずだったんですが、また問題提起してしまいます m(_ _)m )
>早速テストしてみたんですが、Refererが正しく表示されないんですけど...
>下のようにすると私のブラウザ(MSIE 3.01b)では
>Refererにはこの記事のURLが表示されてしまいます。
僕は今Communicator4.0を使ってるんですがcontents.cgiが表示されますね。
ちゅうことでちょっと調べたんですがいいページを見つけました。
一撃必殺JavaScript日本語リファレンス です。ここはいいですね。
かなり勉強になります。
そのページ内の説明の所のdocument.referrer の所によると
>やっぱりMSIEだからなのでしょうね?
だからなのだそうです(^_^;)
[RE]
Subject: Re: JavaによるReferer
From: TAD
<hotani@mxt.meshnet.or.jp >
Date: 1997/06/20 14:27:37
Reference: mesh.program/00323
えぢまっくさん、こんにちは。素早い、レスどうもです。
6月20日に、えぢまっくさんは書きました。
>ちゅうことでちょっと調べたんですがいいページを見つけました。
>一撃必殺JavaScript日本語リファレンス です。ここはいいですね。
>かなり勉強になります。
かなり、なりそうですね。
貴重な情報、ありがとうございます。
>>やっぱりMSIEだからなのでしょうね?
>
>だからなのだそうです(^_^;)
ふ〜
[RE]
Subject: Re: http.plについて質問です(PDSについて)
From: TAD
<hotani@mxt.meshnet.or.jp >
Date: 1997/06/17 16:19:39
Reference: mesh.program/00259
おもいっきり昔の記事へのレスですみません。
昔の記事を見ていて、ふと思い出したことがあったので... (^^;;
3月29日に、にあさんは書きました。
>3月29日に、TADは書きました。
>
>>#ところでPDSって何ですか?
>
>Public Domain Software の略で、全ての権利を放棄して公共に帰するものです。
>日本では著作権は放棄できますが、著作人格権は放棄できないので字義通りの
>PDSは存在し得ないと言うのが一般的な理解かと思います。もっとも、著作人格権をも
>行使しないことを宣言することで実質的には PDS として運用をすることが可能で
>あろうと思われます。
このPDSですが、今年の4月の通産省情報処理技術者試験(区分は内緒(^^;;)の
午前の問題ででたんです。
その問題は、フリーウェア・シェアウェア・パブリックドメインソフトウェアの
それぞれの名称と意味を結びつける問題だったのですが、
パブリックドメインソフトウェアの文字を設問に見つけた時、私はここで
それについての質問をした事を思いだし、ちょっと驚いてしまいました。
もちろん私が即答できたことは言うまでもありません。(^^)v
(まぁ、PDSについて知らなくても、フリーウェア・シェアウェアについて
正確に理解していれば答えられたとは思いますが...)
この場をお借りして、お礼を言わせていただきます。有り難うございました。m(_ _)m
#その記事が3/29(土)、試験が4/20(日)。3週間しか経っていないなんて
#なんという偶然。そうでもないかな?
#前日、ヤマ張って一夜漬けしたとこが、ばっちし試験に出たって感じ。
#とってもためになる「うぇぶ会議室」!
[NEW]
Subject: 日記帳のcgi
From: Tora
<toras@msj.biglobe.ne.jp >
Date: 1997/06/24 22:40:26
日記帳を管理するようなcgiってどこかに無いでしょうか?
以前、どこかで見たような気がするんですが、忘れてしまいました。
Web上のBBSプログラムを改造して、「新規投稿」「フォローアップ投稿」
とかを削ってしまえばいいんでしょうけど、なかなかどの様なソースを
組んだものかイメージがわきません。
そこで、極めて短絡的ですが、「どなたか教えて下さい」モードに入った
というわけです。もしご存じのかたいらっしゃいましたら、お教え下さい。
(#足りない情報があれば追加します)
[NEW]
Subject: アクセス制御について
From: なおき
<naoki@aichinet.or.jp >
Date: 1997/06/29 16:58:16
こんにちは!
またきてしまいました。
apacheでディレクトリレベルの
アクセス制御のユーザー認証に挑戦してみたんですが
どうしてもうまく行かないので質問させてください。
ブラウザからそのディレクトリにいくと
ちゃんと認証のダイアログがでて
ユーザー名とパスワードを入れます。
OKを押すと severerror がでて
misconfigured どうのこうの出てきます。
そこでerror_logをみてみると
reason: mSQL: Missing parameters for password lookup: Password table
とでます。
このreason以下の意味がよく分かりません。
もちろんhtpasswdをつかってパスワードファイルを作って
ちゃんとaccess.confで指定しています。
どうか教えてくださいませ。
教えてもらうばかりですいません。
よろしくお願いします。
[RE]
Subject: Re: アクセス制御について
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/07/01 07:44:16
Reference: mesh.program/00328
6月29日に、なおきさんは書きました。
>apacheでディレクトリレベルの
>アクセス制御のユーザー認証に挑戦してみたんですが
>(中略)
>そこでerror_logをみてみると
>reason: mSQL: Missing parameters for password lookup: Password table
>とでます。
>このreason以下の意味がよく分かりません。
>もちろんhtpasswdをつかってパスワードファイルを作って
>ちゃんとaccess.confで指定しています。
>
えーと、なおきさんがやりたいのは htpasswd の生成するベタファイルを利用した
ユーザ認証ですか? それとも mSQLデータベースサーヴァを利用したユーザ認証ですか?
access.conf での設定が書いていないのでいまいち分かりませんが、エラーからは
mSQLサーヴァを使うところでエラーが出ているようですので、mSQLサーヴァを使いたいの
かとも思いますが、パスワードファイルは htpasswd で作っているようですし...
単に htpasswd でのユーザ登録で十分なら、mSQLサーヴァの立ち上げは必要ないですし
htpasswd で作ったファイルを .htpasswd とすると
AuthUserFile /PasswordFileDirectory/.htpasswd
AuthGroupFile /dev/null (← Apacheだと不必要、NCSAだと必要)
AuthName Any Realm String
AuthType basic
で良いです。
mSQLサーヴァを立てたいなら The mSQL FAQ 辺りが参考になるでしょう。
mSQLサーヴァを立てなくても、Apache なら dbm が使えるので、htpasswd のベタファイルで
管理できないユーザ数になったら、mod_auth_dbm を使うのも良いのではないでしょうか?
[RE]
Subject: Re: アクセス制御について
From: なおき
<naoki@aichinet.or.jp >
Date: 1997/07/01 12:03:27
Reference: mesh.program/00329
なおきです
RESありがとうございます。
7月1日に、にあさんは書きました。
>6月29日に、なおきさんは書きました。
>
>>apacheでディレクトリレベルの
>>アクセス制御のユーザー認証に挑戦してみたんですが
>>(中略)
>>そこでerror_logをみてみると
>>reason: mSQL: Missing parameters for password lookup: Password table
>>とでます。
>>このreason以下の意味がよく分かりません。
>>もちろんhtpasswdをつかってパスワードファイルを作って
>>ちゃんとaccess.confで指定しています。
>>
>えーと、なおきさんがやりたいのは htpasswd の生成するベタファイルを利用した
>ユーザ認証ですか? それとも mSQLデータベースサーヴァを利用したユーザ認証ですか?
mSQLってなんですか?
htpasswdという やつをsupportディレクトリから
持ってきてそいつで.htpasswdというのをつくりました。
htpasswd [-c] naoki .htpasswd
というかんじで・・・。
>
>access.conf での設定が書いていないのでいまいち分かりませんが、エラーからは
>mSQLサーヴァを使うところでエラーが出ているようですので、mSQLサーヴァを使いたいの
>かとも思いますが、パスワードファイルは htpasswd で作っているようですし...
>
>単に htpasswd でのユーザ登録で十分なら、mSQLサーヴァの立ち上げは必要ないですし
>htpasswd で作ったファイルを .htpasswd とすると
そうです。
>
>AuthUserFile /PasswordFileDirectory/.htpasswd
>AuthGroupFile /dev/null <FONT COLOR="#CC0000">(← Apacheだと不必要、NCSAだと必要)</FONT>
>AuthName Any Realm String
>AuthType basic
>
>で良いです。
>mSQLサーヴァを立てたいなら <A HREF="ftp://bond.edu.au/pub/Minerva/msql/faq.html" TARGET="_top">The mSQL FAQ</A> 辺りが参考になるでしょう。
>
>mSQLサーヴァを立てなくても、Apache なら dbm が使えるので、htpasswd のベタファイルで
>管理できないユーザ数になったら、<A HREF="http://ring.aist.go.jp/archives/net/apache/docs/mod/mod_auth_dbm.html" TARGET="_top">mod_auth_dbm</A> を使うのも良いのではないでしょうか?
一度行ってみます。
access.confを公開します。
<Directory /usr/local/etc/httpd/htdocs>
Options Indexes FollowSymLinks
AllowOverride None
order allow,deny
allow from all
</Directory>
<Directory /usr/local/etc/httpd/cgi-bin>
AllowOverride None
Options None
</Directory>
<Directory /usr/local/etc/httpd/htdocs/?????>
AuthUserFile /usr/local/etc/httpd/????????/.passwd
AuthName By Secret Password Only !!
AuthType Basic
<Limit Get>
require user naoki
</Limit>
</Directory>
とやってみたんですが
まだだめみたいです。
まだエラーログには同じログが入ります。
というのも出てきますね。
<H1>Server Error</H1>
The server encountered an internal error or
misconfiguration and was unable to complete
your request.<P>
Please contact the server administrator,
support@aichinet.or.jp and inform them of the time the error occurred,
and anything you might have done that may have
caused the error.<P>
[RE]
Subject: Re: アクセス制御について
From: Yasu.F
<yasuf@ariake.or.jp >
Date: 1997/07/01 16:46:27
Reference: mesh.program/00330
7月1日に、なおきさんは書きました。
>htpasswd [-c] naoki .htpasswd
~~~~~~~~~
ここと
>AuthUserFile /usr/local/etc/httpd/????????/.passwd
~~~~~~~
ここが違いますけど、typoですよね?
><Limit Get>
> require user naoki
></Limit>
特にrequest methodごとのアクセス制限を設けないので
あれば、<Limit>は必要ないです。これだと
POSTしたときに認証がかかりませんし。
# httpd -l
とすると組み込まれているモジュールのリストが
出ると思うのですが、これの中に
mod_auth.c
というのがありますか?
><H1>Server Error</H1>
# ですから、これは無内容 ですってば:-)
[RE]
Subject: Re: アクセス制御について
From: なおき
<naoki@aichinet.or.jp >
Date: 1997/07/01 18:38:04
Reference: mesh.program/00332
なおきです。
Yasu.Fさんありがとうございます。
7月1日に、Yasu.Fさんは書きました。
>7月1日に、なおきさんは書きました。
>
>>htpasswd [-c] naoki .htpasswd
> ~~~~~~~~~
>ここと
>
>>AuthUserFile /usr/local/etc/httpd/????????/.passwd
> ~~~~~~~
>ここが違いますけど、typoですよね?
僕の書き間違いです。
もしかしたらとおもいましたけど・・・
>
>><Limit Get>
>> require user naoki
>></Limit>
>
>特にrequest methodごとのアクセス制限を設けないので
>あれば、<Limit>は必要ないです。これだと
>POSTしたときに認証がかかりませんし。
これも消してやってみました。
結局残った設定は以下のみになりました。
access.confの一番下にこれを付け足している状態です。
<Directory /usr/local/etc/httpd/htdocs/??????>
AuthUserFile /usr/local/etc/httpd/?????????/.passwd
AuthName By Secret Password Only !!
AuthType basic
</Directory>
>
> # httpd -l
>
>とすると組み込まれているモジュールのリストが
>出ると思うのですが、これの中に
>
> mod_auth.c
>
>というのがありますか?
>
httpd -l とやっても何も出ません。
というかエラーになります。
>><H1>Server Error</H1>
>
># ですから、これは無内容 ですってば:-)
[RE]
Subject: Re: アクセス制御について
From: なおき
<naoki@aichinet.or.jp >
Date: 1997/07/01 18:42:40
Reference: mesh.program/00333
つけたしです。
apacheのsupportディレクトリには
-rwxr-xr-x 1 root root 1089 Jun 14 1996 Makefile
-rw-r--r-- 1 root root 3088 Feb 22 1996 cls.c
-rw-r--r-- 1 root root 4443 Feb 22 1996 dbmmanage
-rw-r--r-- 1 root root 5022 Feb 22 1996 dbmmanage.new
-rw-r--r-- 1 root root 377 Jan 15 1996 dbmmanage.readme
-rwxr-xr-x 1 root root 22715 Jun 28 18:39 htdigest
-rw-r--r-- 1 root root 4143 Jun 13 1996 htdigest.c
-rwxr-xr-x 1 root root 16090 Jun 28 18:39 htpasswd
-rw-r--r-- 1 root root 3994 Jun 10 1996 htpasswd.c
-rw-r--r-- 1 root root 4175 Feb 22 1996 httpd.1m
-rwxr-xr-x 1 root root 25558 Jun 28 18:39 httpd_monitor
-rw-r--r-- 1 root root 8661 Feb 22 1996 httpd_monitor.c
-rwxr-xr-x 1 root root 4269 Apr 11 1996 log_server_status
-rwxr-xr-x 1 root root 18933 Jun 28 18:39 logresolve
-rw-r--r-- 1 root root 8622 Feb 22 1996 logresolve.c
-rwxr-xr-x 1 root root 11898 Jun 28 18:39 rotatelogs
-rw-r--r-- 1 root root 1873 Jun 14 1996 rotatelogs.c のが入ってました。
ここでmakeしてhtpasswdをコピーして使ってます。
[RE]
Subject: Re: アクセス制御について
From: Yasu.F
<yasuf@ariake.or.jp >
Date: 1997/07/02 15:27:12
Reference: mesh.program/00333
7月1日に、なおきさんは書きました。
>>特にrequest methodごとのアクセス制限を設けないので
>>あれば、<Limit>は必要ないです。これだと
>>POSTしたときに認証がかかりませんし。
>
>これも消してやってみました。
>結局残った設定は以下のみになりました。
>access.confの一番下にこれを付け足している状態です。
>
>
><Directory /usr/local/etc/httpd/htdocs/??????>
>
>AuthUserFile /usr/local/etc/httpd/?????????/.passwd
>AuthName By Secret Password Only !!
>AuthType basic
>
>
></Directory>
あぁ、必要ないと言ったのは <Limit> だけで、その中に
ある require は必要ですぅ^^;
>httpd -l とやっても何も出ません。
>というかエラーになります。
ということは、Apache/1.1.xですよね。
でしたらコンパイル時に使った Configuration で、
Module auth_module mod_auth.o
という行があるかどうか確認してみてください。
# 最新のバージョンは Apache/1.2.0 ですので
# 早めに入れ替えされることをお薦めします
[RE]
Subject: Re: アクセス制御について
From: なおき
<naoki@aichinet.or.jp >
Date: 1997/07/02 17:15:14
Reference: mesh.program/00336
返信ありがとうございます。
7月2日に、Yasu.Fさんは書きました。
>7月1日に、なおきさんは書きました。
>
>>>特にrequest methodごとのアクセス制限を設けないので
>>>あれば、<Limit>は必要ないです。これだと
>>>POSTしたときに認証がかかりませんし。
>>
>>これも消してやってみました。
>>結局残った設定は以下のみになりました。
>>access.confの一番下にこれを付け足している状態です。
>>
>>
>><Directory /usr/local/etc/httpd/htdocs/??????>
>>
>>AuthUserFile /usr/local/etc/httpd/?????????/.passwd
>>AuthName By Secret Password Only !!
>>AuthType basic
>>
>>
>></Directory>
>
>あぁ、必要ないと言ったのは <Limit> だけで、その中に
>ある require は必要ですぅ^^;
ですよね。
それつけてやってみたんですけどねぇ・・・・。
>
>>httpd -l とやっても何も出ません。
>>というかエラーになります。
>
>ということは、Apache/1.1.xですよね。
>でしたらコンパイル時に使った Configuration で、
>
> Module auth_module mod_auth.o
>
>という行があるかどうか確認してみてください。
ありますよ。
>
># 最新のバージョンは Apache/1.2.0 ですので
># 早めに入れ替えされることをお薦めします
Apache/1.2.0ですか
今やろうと思って奮戦してます。
それからCERNのアクセス制御について
詳しいですか?
もしよかったらどこのページに行けばいいかだけでも
教えてください。
[RE]
Subject: Re: アクセス制御について
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/07/03 13:38:43
Reference: mesh.program/00337
7月2日に、なおきさんは書きました。
>># 最新のバージョンは Apache/1.2.0 ですので
>># 早めに入れ替えされることをお薦めします
>
>Apache/1.2.0ですか
>今やろうと思って奮戦してます。
>
Apache はほとんどの機種用にバイナリが提供されていますから、取りあえず正常動作
するバイナリで、設定ファイルの書き方などを練習してみてはいかがでしょうか?
単純な htpasswd による認証なら、標準で入っていますから、バイナリの利用は
問題点の切り分けに役立つでしょう。
# もっとも 1.2 ならコンパイル自体がほとんど問題ないので、はじめからコンパイルした
# 方が二度手間にならず、良いかもしれないですが。
[NEW]
Subject: Perlの日本語コード変換について
From: ぱーまぁ
<diy@os.rim.or.jp >
Date: 1997/07/02 23:59:52
Perlの連想配列中の文字列にjcode.plでコード変換させる方法が有りまし
たら、教えて下さい。
具体的には10項目以上あるフォームからのデータをcgi-lib.plを使用して、
連想配列$inで取り出そうと思うのですが、一部日本語を使う項目が
あるので、jcode.plで変換させる必要が有ります。
しかし、手持ちの書籍によるとjcode.plは連想配列の中のデータは変換で
きないとあり、現在は
$a=$in{a}と言った感じで通常配列に代入し直しています。
変数が少なければこれでも良いんですが、ちょっと変換項目が多くて、
見た目にもソースが無駄に長くなりますし、手間が掛かりますので、
もしもっとスマートな構文が有ったら、どなたか教えて頂けないでしょうか?
[RE]
Subject: Re: Perlの日本語コード変換について
From: TAD
<hotani@mxt.meshnet.or.jp >
Date: 1997/07/03 11:04:27
Reference: mesh.program/00338
ぱーまぁさん、こんにちは。
なにか作ろうとしているようですね。(^^)
スクリプト書くのって、楽しいですよね。頑張って下さい。
7月2日に、ぱーまぁさんは書きました。
>連想配列$in で取り出そうと思うのですが、一部日本語を使う項目が
>あるので、jcode.plで変換させる必要が有ります。
>しかし、手持ちの書籍によるとjcode.plは連想配列の中のデータは変換で
>きないとあり、現在は
>$a =$in{a}と言った感じで通常配列に代入し直しています。
いちいちスカラー変数に代入しなくても
こんな感じでいいんじゃないでしょうか。
$in{'a'} = &jcode'foo('sjis', $in{'a'});
あるいは連想配列のすべてのVALUEをコード変換するのなら
こんな感じで回してあげるとか...
foreach (keys(%in)) {
$in{$_} = &jcode'foo('sjis', $in{$_});
}
#ちなみに連想配列は $in ではなくて、%in あるは $in{'foo'} 、
#$a は通常配列ではなく、スカラー変数ですね。
[RE]
Subject: Re: Perlの日本語コード変換について
From: ぱーまぁ
<diy@os.rim.or.jp >
Date: 1997/07/03 23:34:22
Reference: mesh.program/00339
TADさん、早速のご返答ありがとうございます。
>ぱーまぁさん、こんにちは。
>なにか作ろうとしているようですね。(^^)
>スクリプト書くのって、楽しいですよね。頑張って下さい。
今、ベンチマークをフォームで入力してもらい、それをログに書き込んで
一覧表示させるプログラムを考えています。
思うように行かなくて、色々頭を捻ってる最中です(^^;
>あるいは連想配列のすべてのVALUEをコード変換するのなら
>こんな感じで回してあげるとか...
>foreach (keys(%in)) {
> $in{$_} = &jcode'foo('sjis', $in{$_});
>}
をぉ!コレですコレ。参考にさせて頂きます。
ところで、質問ついでで申し訳有りませんが、現在の仕様では1つのCGIで
入力、ログへ書き込み、一覧表示をさせるようになっているんですが、
困った事に、サブミットを押さなくてもページをリロードするだけで
ログファイルに空のデータを書き込んでしまうんです。(カンマ区切りで
保存してますので、カンマの羅列が記録されてしまいます。)
何か良い回避方法があったら教えて頂けないでしょうか?
[RE]
Subject: Re: Perlの日本語コード変換について
From: Yasu.F
<yasuf@ariake.or.jp >
Date: 1997/07/04 07:30:33
Reference: mesh.program/00341
7月3日に、ぱーまぁさんは書きました。
>困った事に、サブミットを押さなくてもページをリロードするだけで
>ログファイルに空のデータを書き込んでしまうんです。(カンマ区切りで
>保存してますので、カンマの羅列が記録されてしまいます。)
>何か良い回避方法があったら教えて頂けないでしょうか?
単に、必要なデータが渡されていなければログに書き込まない、
というのでは駄目でしょうか。
if (defined $in{'data'}) {
ログに書き込む
}
とかやって。
[NEW]
Subject: meshでアクセス制限はできるのでしょうか?
From: まさおみ
<masaomi@mxj.meshnet.or.jp >
Date: 1997/07/04 22:31:20
まさおみと申します。以前にあ様に丁寧に教えていただいた
にもかかわらす、お礼の言葉も申し上げられず、大変失礼を
申し上げました。
オフコースHPでにあさんのうえぶ会議室を楽しく利用させて
いただきました。最近というほどのことでもないですが会議室が
バージョンアップしまして未読一括表示ができるようになった
ので、課金が激減いたしました。ありがとうございます。
にあさんもMESHと契約なさっているようですが、MESHのHP
作成に関するFAQをみると、パスワード等によるHPのアクセス
制限等はやっていないようですが、うえぶ会議室には記事の
キャンセルのパスワードを投稿者が決めるようになっていますよね?
あれを見ているとMESHでもアクセス制限をできそうなんですが
そういうことは可能でしょうか?
可否だけで結構ですから誰かお答えいただけませんか?
CGIに関しては、まったく不勉強なものでCGIについてくわしく
お応え頂いても理解できないと思いますので…
[RE]
Subject: Re: meshでアクセス制限はできるのでしょうか?
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/07/04 23:28:44
Reference: mesh.program/00343
7月4日に、まさおみさんは書きました。
> にあさんもMESHと契約なさっているようですが、MESHのHP
>作成に関するFAQをみると、パスワード等によるHPのアクセス
>制限等はやっていないようですが、うえぶ会議室には記事の
>キャンセルのパスワードを投稿者が決めるようになっていますよね?
> あれを見ているとMESHでもアクセス制限をできそうなんですが
>そういうことは可能でしょうか?
>
Mesh ではサーヴァのサーヴィスとしてアクセス制限の機能は提供されていません。
つまり、よく巷で解説されている (あ、すぐ近くのスレッドでもやっているか (^^;;)
.htaccess (Mesh の場合は Netscape サーヴァなので使えるとしても .nsconfig) に
よるアクセス制限は出来ません。もしやりたいとすると、CGI によるアクセス制限と
なります。
# と言うことで、うちの MeshUser 専用ペーヂは All CGI で作られています。
[RE]
Subject: ありがとうございました(Re: meshでアクセス制限はできるのでしょうか?)
From: まさおみ
<masaomi@mxj.meshnet.or.jp >
Date: 1997/07/05 02:15:14
Reference: mesh.program/00344
7月4日に、にあさんは書きました。
>つまり、よく巷で解説されている (あ、すぐ近くのスレッドでもやっているか (^^;;)
>.htaccess (Mesh の場合は Netscape サーヴァなので使えるとしても .nsconfig) に
>よるアクセス制限は出来ません。もしやりたいとすると、CGI によるアクセス制限と
>なります。
>
># と言うことで、うちの MeshUser 専用ペーヂは All CGI で作られています。
すばやい回答ありがとうございました。 なるほどCGIをお勉強すれば
アクセス制限できそうですね。なぜこういうことを知りたいかというと,
HPに写真を載せたいのですけど,他の人には見られては困る…場合の時に
困ったなと思ったからです。(Hな写真じゃないですよ!)
まあ,メールでおくっちまえばいいんですが,HPにのせてコメントなどをつける
と面白いかなと思ったものですから…。
ということでCGIおべんきょします。 ありがとうございます。
これからもますますうえぶ会議室がひろまることを… 拝
[RE]
Subject: Re: Perlでmailtoプロトコルを使用したい場合
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/07/17 14:32:20
Reference: mesh.npc/00859
7月17日に、一色良子さんは書きました。
>CGIスクリプトをPerlで作成した場合で、下記のようにmailtoのプロトコルは使用
>できないのでしょうか?
>mailtoをhttpに変更した場合は、エラーにならないので、mailtoは使用できないのかと
>思われるのですが、どなたかご存知の方いらっしゃるでしょうか。
>
> print "<A HREF='mailto:isshiki@cim.ed.fujitsu.co.jp'>ISSHIKI</A>";
>
エラーと言うのはサーヴァエラーですか? なら「"」で括った文字列の中で「@」を
エスケープしないで使っているため perl5 の文法エラーになっているのでしょう。
print " ... isshiki\@cim. ..."; の様にする必要がありますね。
そうではなくて、mailto のリンクを辿った時にブラウザがエラーになるのなら
別の理由ですね。
Content-Type: text/html の文書がサーヴァから出力されてきた時に、それが元から
HTML文書なのか CGIが動的に生成したものなのかという事は、クライアントからは
知る術がありませんから、エラーになるかならないかは CGIスクリプトを使った事とは
関係ないですね。あくまでも使用したクライアントが mailto:user@host.domain と言う
URL を理解できるかどうかにかかっています。
URL の形式に付いては RFC1738 で定められていますが、scheme の種類については
たしか別に IANA (Internet Assigned Numbers Authority) でまとめられています。
もっとも mailto は RFC1738 で既に現われている scheme ですから、形式上は URL に
使うことについて何の問題も無いでしょう。もっとも、クライアントが対応しているか
どうかは別の話でしょうね。たしか古い MSIE などは使えなかったんじゃ無かったっけ?
# 例えば同じ、RFC1738 にあると言っても、wais や prospero に付いては対応している
# WWWブラウザはほとんど無いのじゃないかしら。wais データベースはあまり使われて
# いないように思う (使っている人すいません。(^^;) ので、まあ、あれですが、
# prospero って言うのは archie で使っているプロトコルですよね? 対応してても
# 罰は当たらないと思うんだけどなぁ
[NEW]
Subject: ファイル数を表示したい。
From: NARU
<nakazima@yo.rim.or.jp >
Date: 1997/07/18 23:34:27
皆さん今日は。
SSIで最終更新日など表示させるのはよくやりますが、あるディレクトリのファイル数を
表示させたりする方法なんてあるでしょうか?
[RE]
Subject: Re: ファイル数を表示したい。
From: TAD
<hotani@mxt.meshnet.or.jp >
Date: 1997/07/19 03:53:25
Reference: mesh.program/00347
7月18日に、NARUさんは書きました。
>皆さん今日は。
>SSIで最終更新日など表示させるのはよくやりますが、あるディレクトリのファイル数を
>表示させたりする方法なんてあるでしょうか?
SSIでCGIを実行することもできるんでしたよね。
そうしたら、Perlで下のようなCGIを書けば
/home/hoge/public_html/data/ 内のファイル数が表示できますよ。(たぶん(^^;; 間違ってないとは思うけど...)
厳密にはファイルだけでなく、ディレクトリが存在すれば
ディレクトリもカウントされてしまいますから、そういう場合は
もう少しチェックが必要ですね。
--------------------------------------
opendir(DIR,"/home/hoge/public_html/data/");
@files = <DIR>;
closedir(DIR);
$cnt = @files;
print($cnt);
exit(0);
--------------------------------------
[RE]
Subject: Re: ファイル数を表示したい。
From: TAD
<hotani@mxt.meshnet.or.jp >
Date: 1997/07/19 04:38:16
Reference: mesh.program/00348
間違いに気づきましたので訂正させて頂きます。m(_ _)m
7月19日に、TADは書きました。
>--------------------------------------
>opendir(DIR,"/home/hoge/public_html/data/");
>@files = <DIR>;
>closedir(DIR);
>$cnt = @files;
>print($cnt);
>exit(0);
>--------------------------------------
これだと必ず2多くなってしまいます。(^^;;
自分(.)と親ディレクトリ(..)が入ってきますので。
というわけで、下のように一律2を引かないといけません。
(きれいではないですが...)
--------------------------------------
opendir(DIR,"/home/hoge/public_html/data/");
@files = <DIR>;
closedir(DIR);
$cnt = @files;
$cnt = $cnt - 2 ;
print($cnt);
exit(0);
--------------------------------------
[RE]
Subject: Re: ファイル数を表示したい。
From: NARU
<nakazima@yo.rim.or.jp >
Date: 1997/07/19 17:29:04
Reference: mesh.program/00349
TADさん、Yasu.Fさん、こんにちは。
早速のコメントありがとうございました。
Yasu.Kさんの方法が簡単そうなので試してみたところ、バッチリうまくいきました。
ありがとうございました。
[RE]
Subject: Re: ファイル数を表示したい。
From: Yasu.F
<yasuf@ariake.or.jp >
Date: 1997/07/19 11:02:59
Reference: mesh.program/00347
7月18日に、NARUさんは書きました。
>SSIで最終更新日など表示させるのはよくやりますが、あるディレクトリのファイル数を
>表示させたりする方法なんてあるでしょうか?
安直な方法ですが、
<!--#exec cmd="ls -1 ディレクトリ | wc -l"-->
というのは如何でしょう。
[NEW]
Subject: stat関数の返り値の意味
From: Puppi☆
<puppi@mbox.kyoto-inet.or.jp >
Date: 1997/07/21 22:55:41
質問です。
Perlで、stat関数の13の配列要素の各意味について教えてください。
特にファイルの最終更新日時についての情報を取得したので、
お願いします。
[RE]
Subject: Re: stat関数の返り値の意味
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/07/23 03:21:31
Reference: mesh.program/00352
7月21日に、Puppi☆さんは書きました。
>Perlで、stat関数の13の配列要素の各意味について教えてください。
>特にファイルの最終更新日時についての情報を取得したので、
>
まあ、詳しい解説はマニュアルにゆずるとして、statの13要素の戻し値はUnixの
ファイルシステムに於けるパラメータそのものなので、それ以外のプラットホームに
おいては意味をなさない物も多いです。Unix のマニュアルから抜き出せば、
dev; /* ID of device containing a directory entry for this file */
ino; /* Inode number */
mode; /* File type, attributes, and access control summary */
nlink; /* Number of links */
uid; /* User ID of file owner */
gid; /* Group ID of file group */
rdev; /* Device ID; this entry defined only for char or blk spec files */
size; /* File size (bytes) */
atime; /* Time of last access */
mtime; /* Last modification time */
ctime; /* Last file status change time */
/* Measured in secs since 00:00:00 GMT, Jan 1, 1970 */
blksize;/* Prefered blocksize for file system I/O */
blocks; /* actual number of blocks allocated */
となりますね。此処でファイルの最終更新日時は文字どおり mtime より得られ、
グリニッジ標準時で1970年1月1日午前0時を起点とする秒数 で表わされています。
この時間単位はその他の時間関数と共通ですから、stat() で得られた mtime を
localtime() に与えれば、ファイルの最終更新日時が現地時間で得られるわけです。
[NEW]
Subject: CGIでのプログラムなんですけど....
From: 廣石 亮
<hiroishi@ss.iij4u.or.jp >
Date: 1997/07/23 19:03:46
僕はちょっと前にホームページを開設したんですが、最初のページ(ホームページ)を
2つ作れば面白いなと思っていました。
僕はCGIはまるっきり素人なんです。全く解らないんです。
で質問なんですが、って言うかお願いなんですが
ランダム(時間でもOK)で表示するページを変えるCGIを教えてもらいませんか?
僕も一応やってはみたんですが、当然うまくいきませんでした。
多分数行のプログラムで簡単に出来ると思うんだけど...駄目ですか??
[RE]
Subject: Re: CGIでのプログラムなんですけど....
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/07/25 05:57:23
Reference: mesh.program/00354
7月23日に、廣石 亮さんは書きました。
>ランダム(時間でもOK)で表示するページを変えるCGIを教えてもらいませんか?
>僕も一応やってはみたんですが、当然うまくいきませんでした。
>
>多分数行のプログラムで簡単に出来ると思うんだけど...駄目ですか??
>
数行で、ですか。(^^;;
じゃあ、こんな物かな? @location 配列の要素に設定したペーヂから無作為に
選んでジャンプします。
#!/usr/local/bin/perl
@location = ('http://www.host1.domain1/~user1/page-1.html',
'http://www.host2.domain2/~user2/page-2.html',
'http://www.any.domain/any/page/');
srand;
printf("Location: %s\n\n", $location[int(rand($#location + 1))]);
exit(0);
[NEW]
Subject: super userでなくてもmake installがしたいのですが?
From: t
<jtanaka@po.jah.or.jp >
Date: 1997/07/25 06:56:06
こんにちは。
プログラムというよりはプログラムのinstallに
ついての質問なのですがお願いします。
Unix(私の場合はDigitalUnix)の場合、
makeを行った後、super userになって
make installを行うのが、一般にインストール
の方法として紹介されていますが普通の
一般userでもこのmake installはできないのでしょうか。
なぜこのような質問をするかというのは
fvwmやqvwmなどをインストールしたのですが
できれば自分のhomeの下のbinなどにこれらの
ソフトをinstallしたいのです。
ところが、これらのソフトのINSTALLやREADME
を読んで実際にinstallを行うと必ずrootのbinやman
に書き込もうとして結局書き込み拒否のエラーが
でて終わりになります。
もちろんmakefileを書き直せればよいのですが
これらのソフトは基本的にxmkmk(コマンド名が
少し違うかな?)でmakefileを作ってしまうので
この時に上手く自分のhome以下にインストール
するようにできないのでしょうか。
ちなみにlibXpmも同様に自分のhome以下のlib
にinstallしたいのですが失敗します。
結局root以下のsystemに影響を与えないinstall方法を
知りたいのですが.....
お願いします。
[RE]
Subject: Re: super userでなくてもmake installがしたいのですが?
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/07/26 14:59:28
Reference: mesh.program/00356
7月25日に、tさんは書きました。
>なぜこのような質問をするかというのは
>fvwmやqvwmなどをインストールしたのですが
>できれば自分のhomeの下のbinなどにこれらの
>ソフトをinstallしたいのです。
>
X11のプログラムを書かなくなってもう数年が経つので、なんか全然憶えていませんが (^^;;
普通に xmkmf で作った Makefile なら、インストール先は $(DESTDIR)$(BINDIR) や
$(DESTDIR)$(MANDIR)、$(DESTDIR)$(LIBDIR) 辺りになると思ったので、
make BINDIR=/home/user/bin MANDIR=/home/user/man LIBDIR=/home/user/lib install
とでもすれば、その場で install 先を差し替えることは出来ると思います。
一応 make -n で実行状態を確認してから行なって下さい。
本当は Imakefile を書き換えるんでしょうが、Imakefile は書いたこと無いのでパス。(汗)
# あたしは HP-UX の VUE を使っていて、Window Manager を差し替えたこと無いので
# fvwm あたりでどういう Imakefile 使っているのかは良く分からないです。(^^;;
## だいたいにおいてインストール先は標準しか使ってないし。(爆)
[NEW]
Subject: freeWAIS-sfインストールについて(長文)
From: こん
<PXC06010@niftyserve.or.jp >
Date: 1997/07/31 10:27:15
freeWAIS-sf を使用した、全文検索をやってみようと思いまして
インストール作業をしているのですが、良くわからなくて困ってい
ます。わかる方がお見えになりましたら御助言をお願いいたします。
ftp://ftp.kusastro.kyoto-u.ac.jp/pub/baba/wais/ から
2.1.2-jp6.tar.gz
freeWAIS-sf-2.1.2.tar.gz
kakasi-2.2.5.tar.gz
kakasidict.940620.gz
SFgate-5.111.tar.gz
Wais-2.118.tar.gz
を入手しました。
1.2.1.2-jp6.tar.gz を展開
2.kakasi-2.2.5.tar.gz,kakasidict.940620.gz を展開し、
2.1.2-jp6.tar.gz に含まれる パッチを当てて make
3.freeWAIS-sf-2.1.2.tar.gzを展開し、
2.1.2-jp6.tar.gz に含まれる パッチを当てて make
4./etc/services で以下を確認
z3950 210/tcp wais # NISO Z39.50 database
5./etc/inetd.confに以下のエントリを追加
z3950 stream tcp nowait root /usr/local/bin/waisserver waisserver.d -d /usr/local/lib/wais-sources -e /var/log/waislog -l 5
6.kill -HUP inetdプロセス
7.telnetでlocalhostのz3950を叩いて動作確認
ここまでは済んだのですが、
Wais-2_118_tar.gz を展開し、
# cd /usr/local/src/wais/freeWAIS-sf-2.1.2/ir
# /bin/sh /usr/local/src/wais/Wais-2.118/mkinc -I../ctype ui.h cutil.h irext.h irfiles.h irsearch.h irtfiles.h weight.h docid.h > wais.h
# cd ..
# cp */lib*.a /tmp
# ar cq /tmp/libwais.a ctype/ctype.o
# ranlib /tmp/libwais.a
# ranlib /tmp/libftw.a
# ranlib /tmp/libregexp.a
を行った後、Makefile.PLを変更
$FW = "/usr/local/src/wais/freeWAIS-sf-2.1.2-jp";
$CFLAGS = "-I/tmp";
$LDFLAGS = "-L/tmp";
そして、
# /usr/local/bin/perl Makefile.PL
# make
# make test
と行うと
cc -c -I/usr/local/src/wais/freeWAIS-sf-2.1.2/ir -I/usr/local/include -O -DV
ERSION=\"2.118\" -DXS_VERSION=\"2.118\" -DPIC -fpic -I/usr/local/lib/perl5/i386
-freebsd/5.003/CORE -DTRACE=0 -g /usr/local/src/wais/freeWAIS-sf-2.1.2/ctype/cty
pe.c
PERL_DL_NONLAZY=1 /usr/bin/perl -I./blib/arch -I./blib/lib -I/usr/local/lib/perl
5/i386-freebsd/5.003 -I/usr/local/lib/perl5 -e 'use Test::Harness qw(&runtests
$verbose); $verbose=0; runtests @ARGV;' t/*.t
t/basic.............Use of uninitialized value at t/basic.t line 82.
Use of uninitialized value at t/basic.t line 83.
FAILED tests 3-4
Failed 2/4 tests, 50.00% okay
t/dict..............Out of memory!
FAILED tests 1, 3, 5-8
Failed 6/8 tests, 25.00% okay
Test returned status 1 (wstat 256)
t/ndict.............FAILED test 4
Failed 1/15 tests, 93.33% okay
t/parallel..........chat::open_port failed at t/parallel.t line 92
FAILED tests 3-6
Failed 4/6 tests, 33.33% okay
Test returned status 2 (wstat 512)
t/stem..............ok
Failed 4/5 test scripts, 20.00% okay. 13/52 subtests failed, 75.00% okay.
*** Error code 2
Stop.
となってしまいます。(T・T)
私の作業の中にどこかミスがあると思うのですが、わからずに悩んでおります。
わかる方がお見えになりましたら、御指導お願いいたします。
使用環境
FreeBSD 2.1.5 R
perl 5.003
MEM 36MB
SWAP 100MB
です。
[RE]
Subject: Re: freeWAIS-sfインストールについて(長文)
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/08/01 01:21:25
Reference: mesh.program/00358
7月31日に、こんさんは書きました。
>Wais-2_118_tar.gz を展開し、
>(中略)
># make test
>と行うと
>cc -c -I/usr/local/src/wais/freeWAIS-sf-2.1.2/ir -I/usr/local/include -O -DV
>ERSION=\"2.118\" -DXS_VERSION=\"2.118\" -DPIC -fpic -I/usr/local/lib/perl5/i386
>-freebsd/5.003/CORE -DTRACE=0 -g /usr/local/src/wais/freeWAIS-sf-2.1.2/ctype/cty
>pe.c
>PERL_DL_NONLAZY=1 /usr/bin/perl -I./blib/arch -I./blib/lib -I/usr/local/lib/perl
>5/i386-freebsd/5.003 -I/usr/local/lib/perl5 -e 'use Test::Harness qw(&runtests
$>verbose); $verbose=0; runtests @ARGV;' t/*.t
>t/basic.............Use of uninitialized value at t/basic.t line 82.
>Use of uninitialized value at t/basic.t line 83.
>FAILED tests 3-4
> Failed 2/4 tests, 50.00% okay
>t/dict..............Out of memory!
>FAILED tests 1, 3, 5-8
> Failed 6/8 tests, 25.00% okay
> Test returned status 1 (wstat 256)
>t/ndict.............FAILED test 4
> Failed 1/15 tests, 93.33% okay
>t/parallel..........chat::open_port failed at t/parallel.t line 92
>FAILED tests 3-6
> Failed 4/6 tests, 33.33% okay
> Test returned status 2 (wstat 512)
>t/stem..............ok
>Failed 4/5 test scripts, 20.00% okay. 13/52 subtests failed, 75.00% okay.
>*** Error code 2
>
>Stop.
>となってしまいます。(T・T)
>
うーん、SunOS 4.1.3-JL、perl 5.004_01 でやってみましたが、
こちらでも Wais の make test ではエラーが出ますね。(^^;;
Wais-2.118 では、
t/basic.............ok
t/dict..............FAILED tests 1, 3, 5
Failed 3/8 tests, 62.50% okay
t/ndict.............FAILED test 4
Failed 1/15 tests, 93.33% okay
t/parallel..........ok
t/stem..............ok
Failed Test Status Wstat Total Fail Failed List of failed
------------------------------------------------------------------------------
t/dict.t 8 3 37.50% 1, 3, 5
t/ndict.t 15 1 6.67% 4
Failed 2/5 test scripts, 60.00% okay. 4/52 subtests failed, 92.31% okay.
Wais-2.304 でも、
t/a_preop...........ok
t/basic.............ok
t/dict..............FAILED tests 1, 3, 5
Failed 3/8 tests, 62.50% okay
t/ndict.............ok
t/parallel..........ok
t/stem..............ok
t/z_postop..........ok
Failed Test Status Wstat Total Fail Failed List of failed
------------------------------------------------------------------------------
t/dict.t 8 3 37.50% 1, 3, 5
Failed 1/7 test scripts, 85.71% okay. 3/57 subtests failed, 94.74% okay.
となってしまいました。(^^;;
もっとも、freeWAIS-sf-2.1.2-jp6 自体が日本語対応の関係でテストが失敗して
いますから、こんなもんかなぁと思ってそのままインストールしてしまいましたが... (^^;;
# あまり使っていないので、本当にチャンと動いているのかどうかは
# 良く分からないです。(^^;;
## なんで HP-UX じゃ無くて SunOS なのかと言うと、HP-UX のコンパイラは
## shared libraries 作るには、コンパイラオプション変えなければイケナくて
## freeWAIS-sf のライブラリを作りなおすのが面倒だったからなのでした。(^^;;;
P.S.
Wais-2.118 の dictionary.c って、チョットおかしくないですか? あたしは、
200c200
< char buff[80];\
---
> char buf[80];\
432d431
< char buff[80];\
しましたけど。(^^;
[RE]
Subject: Re: freeWAIS-sfインストールについて(長文)
From: こん
<PXC06010@niftyserve.or.jp >
Date: 1997/08/01 19:29:01
Reference: mesh.program/00359
8月1日に、にあさんは書きました。
こん です。御助言有り難うございます。
>うーん、SunOS 4.1.3-JL、perl 5.004_01 でやってみましたが、
>こちらでも Wais の make test ではエラーが出ますね。(^^;;
<省略させて頂きました>
>もっとも、freeWAIS-sf-2.1.2-jp6 自体が日本語対応の関係でテストが失敗して
>いますから、こんなもんかなぁと思ってそのままインストールしてしまいましたが... (^^;;
>
># あまり使っていないので、本当にチャンと動いているのかどうかは
># 良く分からないです。(^^;;
意を決して、インストールしました (^^;;
取りあえず、動いているようです。
# 2500file、20MB強をindex作ってやってみました。
流石に、ファイル数が多くても強いですね。
マシンパワーがあればもっと快適なんだろうけど,,,。
>P.S.
>Wais-2.118 の dictionary.c って、チョットおかしくないですか? あたしは、
>
>200c200
>< char buff[80];\
>---
>> char buf[80];\
>432d431
>< char buff[80];\
>
>しましたけど。(^^;
良くわからないんですが、私も変更させて頂きました。
色々と有り難うございました。m(__)m
[NEW]
Subject: ファイルロックについて
From: カズキ
<kazuki@fsinet.or.jp >
Date: 1997/08/04 23:32:07
はじめまして、質問させていただきます。
Perlで「flock()」を使った安全なファイルロックの方法を教えて下さい。
よろしくお願いします。
[RE]
Subject: Re: ファイルロックについて
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/08/05 08:44:12
Reference: mesh.program/00361
8月4日に、カズキさんは書きました。
>Perlで「flock()」を使った安全なファイルロックの方法を教えて下さい。
>
チョット古い記事ですが、「ノンブロッキングロックについて 」とか「flockのオペレーション 」辺りを
参照して下さい。
# あの頃、mesh 1号機はボロボロでしたね。(^^;;
# それに比べると、この頃は少しは安心していられる。
[NEW]
Subject: npc.cgiのオプションについて
From: Pちゃん
<george@mtd.biglobe.ne.jp >
Date: 1997/08/07 21:42:53
はじめまして Pちゃんと言います。
nir さんが作られているnpc.cgiを使いたいのですが、
これにsample.idxというファイルが送付されていますよね。
そのファイル名って返れるのですか?
それと、変えれたと仮定して、そのファイル名って
どこかに書かないといけないのでしょうか?
もう1点あります。
sample.idxの中にあるADDRというのを
設定するところがありますが、
私はダイアルアップで接続しているのですが、
IPアドレスってどこを見たらいいのでしょうか?
#ドメイン名の場合はどうかいたらいいのだろう。
以上です。
[RE]
Subject: Re: npc.cgiのオプションについて
From: Yasu.F
<yasuf@ariake.or.jp >
Date: 1997/08/08 02:17:07
Reference: mesh.program/00363
8月7日に、Pちゃんさんは書きました。
>nir さんが作られているnpc.cgiを使いたいのですが、
…ということですので、npc.cgiの部屋 にフォローします。
[NEW]
Subject: クッキーが変だ!
From: NARU
<webmaster@naturum.co.jp >
Date: 1997/08/10 14:57:51
皆さん、こんにちは。
今、少しずつCGIの勉強をしてるんですが、クッキーの使い方についてわからないところが
あり、質問させてください。
下記のスクリプトを実行させたところ、Apache=ins415261871190628702; というわけのわからない
クッキーがセットされます。(というか、最初から入ってるようです。)
***********ここから*************
#!/usr/bin/perl
# Content-typeヘッダを出力
print "Content-type: text/html\n";
# Set-Cookieヘッダを出力
print "Set-Cookie: ";
print "TEST1=1; ";
print "path=/\n";
# ヘッダの終わりを出力
print "\n";
print <<EOM;
<HTML>
<HEAD>
<TITLE>TEST</TITLE>
</HEAD>
<BODY>
This is a test.<BR>
$ENV{'HTTP_COOKIE'}
</BODY>
</HTML>
EOM
*********ここまで**********
これの実行結果は、
This is a test.
Apache=ins415261871190628702; TEST1=1
となります。この Apache=ins415261871190628702; とはなんなんでしょう。
[RE]
Subject: Re: クッキーが変だ!
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/08/10 23:01:31
Reference: mesh.program/00366
8月10日に、NARUさんは書きました。
>これの実行結果は、
>
>This is a test.
>Apache=ins415261871190628702; TEST1=1
>
>となります。この Apache=ins415261871190628702; とはなんなんでしょう。
>
これは、Apache に組み込みの User tracking のための Cookie 送付だと思います。
User tracking は以前は Cookie と呼ばれていました。
[RE]
Subject: Re: クッキーが変だ!
From: NARU
<webmaster@naturum.co.jp >
Date: 1997/08/11 02:10:41
Reference: mesh.program/00367
8月10日に、にあさんは書きました。
>これは、Apache に組み込みの User tracking のための Cookie 送付だと思います。
>User tracking は以前は Cookie と呼ばれていました。
にあさん、こんばんは。フォローありがとうございました。
やっと、なぞが解けました。ありがとうございました。
でも、これってユーザーサイドでOFFにはできないんでしょうねぇ(;^^)
これで使えるクッキーが一つ減るのもなんだかもったいないような・・・。
[NEW]
Subject: 8月27日急に動かなくなりました
From: ひとし
<fwii8404@mb.infoweb.or.jp >
Date: 1997/08/27 06:04:48
今まで順調に動いていたのですが、8月27日の朝みてみると、index file lock error
が表示されたので、他のホームページのおいどんさんのカウンターも同様でした。
どうなっているのでしょうか?教えてください。
[NEW]
Subject: アニメーションアクセスカウンターについて誰か教えて〜
From: kenji
<kenji@tokyo.office.ne.jp >
Date: 1997/09/10 02:01:57
ども、kenjiといいます。
アニメーションアクセスカウンターのスクリプトを書いて設置したのですが、
アニメーションGIFがページに読み込まれる前にすでに動いた状態になってしまい、
せっかくのアニメーションが見れない時が有ります。
GIFアニメーションの1コマ目と2コマ目を4秒に設定してなんとかしのいでいますが、
なにか良い方法は有るのでしょうか?
ちなみに設置方法は <!--#exec cmd"counter.pl"--> でカウンターをページ上に設置しています。
スクリプトは 「counter.pl」 です。
にあさんのnpc.cgiはすこし遅れて表示されているようですがいったいどういう風にやっているのでしょうかね?
こうしたら?って意見があったらRESお願いします。
ではでは。
[RE]
Subject: Re: アニメーションアクセスカウンターについて誰か教えて〜
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/09/12 07:52:40
Reference: mesh.program/00370
9月10日に、kenjiさんは書きました。
>アニメーションアクセスカウンターのスクリプトを書いて設置したのですが、
>アニメーションGIFがページに読み込まれる前にすでに動いた状態になってしまい、
>せっかくのアニメーションが見れない時が有ります。
>GIFアニメーションの1コマ目と2コマ目を4秒に設定してなんとかしのいでいますが、
>
うーん、npc.cgiのGIFアニメモードでやっているのも、まさにこれですが。
# 特に他にやりようもないし。(^^;;
[RE]
Subject: Re: アニメーションアクセスカウンターについて誰か教えて〜
From: kenji
<kenji@tokyo.office.ne.jp >
Date: 1997/09/12 13:46:50
Reference: mesh.program/00373
9月12日に、にあさんは書きました。
>9月10日に、kenjiさんは書きました。
>
>>アニメーションアクセスカウンターのスクリプトを書いて設置したのですが、
>>アニメーションGIFがページに読み込まれる前にすでに動いた状態になってしまい、
>>せっかくのアニメーションが見れない時が有ります。
>>GIFアニメーションの1コマ目と2コマ目を4秒に設定してなんとかしのいでいますが、
>>
>うーん、npc.cgiのGIFアニメモードでやっているのも、まさにこれですが。
># 特に他にやりようもないし。(^^;;
あら、そうだったんですか(^^; にあさんのカウンターはなにか特別なスクリプトを
使ってるのかと思って(^^;
なんとか研究してVerUPして皆さんに提供できるカウンターにしていきたいと思います。
にあさん RESどもでした〜&うぇぶ会議室設置しましたが順調に作動しています。
[NEW]
Subject: 少し高度な質問かも。フォローお願いね!
From: むーちゃん
<moo@moo.or.jp >
Date: 1997/09/11 22:57:09
むーちゃんです。久々の投稿です。
イントラネットの会議室は順調です。しかし、投稿が少ないのが玉に傷(;;)
さて、質問は、perlでプロセス間通信(C/Sシステム)をやりたいのですが、
フリーで良い教材が何処かにないでしょうか?
そんなものでなにをしようと企んでいるのかって? おっしゃりたいかも(^^)。
たとえば、インターネット上に会議室が分散しているとしましょう。それを集めて
一覧掲示する仕掛けを作りたいものとお考え下さい。レスポンス性能もある程度要
求されるのでオンデマンドでかき集めて表示するというような芸当は無理だと思い
ます。投稿のある都度、何処かに蓄積し、クライアントからの要求に応じて素早く
表示する仕組みが必要と思います。
そのためには、会議室システムとは別のC/Sシステムで実現できるのではと思う
のです。
どなたかよい知恵をお貸し下さい。よろしくお願いします。
[RE]
Subject: perlによるプロセス間通信
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/09/12 08:21:19
Reference: mesh.program/00371
9月11日に、むーちゃんさんは書きました。
>さて、質問は、perlでプロセス間通信(C/Sシステム)をやりたいのですが、
>フリーで良い教材が何処かにないでしょうか?
>
そうですね、あたしも自分で試してみたわけじゃないので、詳しくは分かりませんが
"Programing perl" だけでも相当詳しいところまで書いてあります。
最初のなら6章の "Real Perl Programs" から "Interprocess Communication"、
新しい方ならやはり6章の "Social Engineering" から "Sockets" に perl 特有の
書き方のための例を含めた詳しい解説がありますから、まずはその辺をご覧になっては
いかがでしょうか?
それに飽きたらない場合は、CPAN の modules/by-category の下に、
05_Networking_Devices_Inter_Process とか 16_Server_and_Daemon_Utilities などが
あって、色々なスクリプトが貯められていますから、これらを参照してみると良いのでは?
>たとえば、インターネット上に会議室が分散しているとしましょう。それを集めて
>一覧掲示する仕掛けを作りたいものとお考え下さい。
>
Web上での会議室システムを作っているあたしがこんな事を言うのも何なんですが、(^^;;
既存のシステムでそれに適合する物が有ればそれを使うというのも良いと思います。
分散サーヴァ上のデータの結合というのは、現在のnet newsのシステムで枯れた手法が
開発されているわけですから、イントラネットでサーヴァの管理者であれば、news を
導入するのも一つの手段として有ると思います。
特にWebを使わなければならない用途でない限り、現在のnewsシステムは、まだまだ
使える物だと思います。
# もちろんそうじゃない側面が有ることも分かるため、こんな物を作っている
# わけですが。(^^;;
[RE]
Subject: Re: perlによるプロセス間通信
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/09/12 08:27:09
Reference: mesh.program/00374
9月12日に、にあは書きました。
>9月11日に、むーちゃんさんは書きました。
>
>>たとえば、インターネット上に会議室が分散しているとしましょう。それを集めて
>>一覧掲示する仕掛けを作りたいものとお考え下さい。
>>
>Web上での会議室システムを作っているあたしがこんな事を言うのも何なんですが、(^^;;
>既存のシステムでそれに適合する物が有ればそれを使うというのも良いと思います。
>
あ、そうそう、一つ書き忘れた。
プロセス間通信の部分だけ、既存のシステムにのっかると言うのも簡単でよいです。
例えば、まとめたい記事はあるサーヴァにメールするようにして置いて、来たメール
から記事を再構成するとか。
[RE]
Subject: Re: perlによるプロセス間通信
From: むーちゃん
<moo@moo.or.jp >
Date: 1997/09/17 11:43:45
Reference: mesh.program/00375
にあさん。毎度お世話になっております。
いつも素早いレス、有難うございます。
また、返事が遅くなり申し訳ありません。
なにせ片手間でやっているものですから・・・(;;)
9月12日に、にあさんは書きました。
>9月11日に、むーちゃんさんは書きました。
>
>>さて、質問は、perlでプロセス間通信(C/Sシステム)をやりたいのですが、
>>フリーで良い教材が何処かにないでしょうか?
>>
>そうですね、あたしも自分で試してみたわけじゃないので、詳しくは分かりませんが
>"Programing perl" だけでも相当詳しいところまで書いてあります。
>最初のなら6章の "Real Perl Programs" から "Interprocess Communication"、
>新しい方ならやはり6章の "Social Engineering" から "Sockets" に perl 特有の
>書き方のための例を含めた詳しい解説がありますから、まずはその辺をご覧になっては
>いかがでしょうか?
そうですねー。やっぱり「ラクダ本」ですか。私もついに4400¥痛かったけど、
ポケットマネーをはたいて購入してしまいました。
プロセス間通信(IPC)のところをよく読んで、サンプルを一度試してみます。
どうも有難うございました。
>それに飽きたらない場合は、CPAN の modules/by-category の下に、
>05_Networking_Devices_Inter_Process とか 16_Server_and_Daemon_Utilities などが
>あって、色々なスクリプトが貯められていますから、これらを参照してみると良いのでは?
すいませんが、上記情報では、私には何の手掛かりにもなっていません。
いろいろ試してみたいので、もう少し詳しめにお願いできないでしょうか?
>Web上での会議室システムを作っているあたしがこんな事を言うのも何なんですが、(^^;;
>既存のシステムでそれに適合する物が有ればそれを使うというのも良いと思います。
なるほど。貴重なご意見です。
>分散サーヴァ上のデータの結合というのは、現在のnet newsのシステムで枯れた手法が
>開発されているわけですから、イントラネットでサーヴァの管理者であれば、news を
>導入するのも一つの手段として有ると思います。
>特にWebを使わなければならない用途でない限り、現在のnewsシステムは、まだまだ
>使える物だと思います。
># もちろんそうじゃない側面が有ることも分かるため、こんな物を作っている
># わけですが。(^^;;
>
>あ、そうそう、一つ書き忘れた。
>
>プロセス間通信の部分だけ、既存のシステムにのっかると言うのも簡単でよいです。
>例えば、まとめたい記事はあるサーヴァにメールするようにして置いて、来たメール
>から記事を再構成するとか。
この視点、つまりINN(InterNetNews)を利用する方法はに、思いも及びませんでしたね。
確かに、よくよく考えてみると、INNと同じような機能を実現しなければならないのです。
だったら、枯れたこの機能を上手く利用して、CGIを被せてやれば、バックボーンとして
また、分散環境でレプリケーションを実現する方法としては、最適なソリューションかも知
れません。大変参考になりました。
# INNの仕組みをもっともっと勉強しなくっちゃ。あー急がし急がし。
[RE]
Subject: Re: perlによるプロセス間通信
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/09/18 21:26:44
Reference: mesh.program/00381
9月17日に、むーちゃんさんは書きました。
>>それに飽きたらない場合は、CPAN の modules/by-category の下に、
>>05_Networking_Devices_Inter_Process とか 16_Server_and_Daemon_Utilities などが
>>あって、色々なスクリプトが貯められていますから、これらを参照してみると良いのでは?
>
>すいませんが、上記情報では、私には何の手掛かりにもなっていません。
>いろいろ試してみたいので、もう少し詳しめにお願いできないでしょうか?
>
あ、CPANってご存じ無かったですか。(^^;;
CPANと言うのは "Comprehensive Perl Archive Network" の事で、perlに関する
あらゆる情報が詰まっていると言っても良い、包括的なアーカイヴです。
国内だと、例えば KDD Labo.のCPAN などが公式ミラーだったはずです。
[RE]
Subject: Re: perlによるプロセス間通信
From: むーちゃん
<moo@moo.or.jp >
Date: 1997/09/19 19:02:32
Reference: mesh.program/00388
9月18日に、にあさんは書きました。
>CPANと言うのは "Comprehensive Perl Archive Network" の事で、perlに関する
>あらゆる情報が詰まっていると言っても良い、包括的なアーカイヴです。
>国内だと、例えば KDD Labo.のCPAN などが公式ミラーだったはずです。
うーん。Perl の世界は広いですね。日本語だともっと有り難いんですが(^^;
何かのとき、参考にさせて頂きます。にあさん、どうもありがとうございましたm(_ _)m
# プロセス間通信に関しては、当面、INNの情報でも集めようかなあ。
[NEW]
Subject: クッキーの動作について
From: むーちゃん。
<moo@moo.or.jp >
Date: 1997/09/11 23:14:37
むーちゃんです。
クッキーについてもう一つ質問させてください。
会議室とは別のCGIでクッキーを使っています。
ところが、どういう具合なのか、クッキーが機能する場合と
しない場合があるのです。
どこに原因があるのか切り分けもできず困っています。
どのようなクッキーかと言いますと、ブラウザを起動してから最初の
1回だけユーザID、パスワードを打ち込めば、それをクッキーとして
サーバから受信し、次回からデフォルト表示させるという仕掛けです。
このクッキーはブラウザを終了するまでは有効です。
ところが、サーバからクッキーを受信しましたというダイアログボックス
が表示され、OKしているにも関わらず、クッキーが保存されないみたいで
同じ操作を何度も繰り返す羽目に陥ります。逆に意図した通り、1回です
む場合もあります。一体どうなっているのでしょう?
ブラウザはIE3.02です。
CGIが悪いのか、ブラウザが悪いのか、どうなんでしょうか。CGI作成方法
に誤りがあるのでしょうか。
詳しい方、よろしくお願いします。
[RE]
Subject: Re: クッキーの動作について
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/09/12 08:34:05
Reference: mesh.program/00372
9月11日に、むーちゃん。さんは書きました。
>会議室とは別のCGIでクッキーを使っています。
>ところが、どういう具合なのか、クッキーが機能する場合と
>しない場合があるのです。
>ブラウザはIE3.02です。
>CGIが悪いのか、ブラウザが悪いのか、どうなんでしょうか。CGI作成方法
>に誤りがあるのでしょうか。
>
これだけでは良く分かりませんが、この間「うぇぶ会議室の部屋2 」で話題になった
「URLに"~"が含まれる場合のMSIEの動作 」が関係していたりしませんか?
[RE]
Subject: Re: おしゃる通り原因はチルダ記号でした。
From: むーちゃん
<moo@moo.or.jp >
Date: 1997/09/17 14:04:02
Reference: mesh.program/00376
9月12日に、にあさんは書きました。
>9月11日に、むーちゃん。さんは書きました。
>
>>会議室とは別のCGIでクッキーを使っています。
>>ところが、どういう具合なのか、クッキーが機能する場合と
>>しない場合があるのです。
>
>>ブラウザはIE3.02です。
>>CGIが悪いのか、ブラウザが悪いのか、どうなんでしょうか。CGI作成方法
>>に誤りがあるのでしょうか。
>>
>これだけでは良く分かりませんが、この間「うぇぶ会議室の部屋2 」で話題になった
>「URLに"~"が含まれる場合のMSIEの動作 」が関係していたりしませんか?
おっしゃるとおり、チルダ記号の問題でした。
さっそく、HTMLファイルのアンカをチルダから「%7E」に変更しました。
どうも有難うございました。
[NEW]
Subject: Perlでの漢字表示
From: Kaz
<kazuh@osk2.3web.ne.jp >
Date: 1997/09/12 12:30:52
Kazです。
非常に初歩的な質問かもしれないです。(^^;
Perlで漢字を表示しようとするとうまく表示されないものがあります。
予定表 がそうです。
\を前に書くとうまくいくのを聞いたことがあるので、 予\定\表
とやってみたら、
予定・ としか表示されません。
これは、どうしようもないのでしょうか。
[RE]
Subject: Re: Perlでの漢字表示
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/09/16 11:46:46
Reference: mesh.program/00377
9月12日に、Kazさんは書きました。
> Perlで漢字を表示しようとするとうまく表示されないものがあります。
>
> 予定表 がそうです。
>
> \を前に書くとうまくいくのを聞いたことがあるので、 予\定\表
>とやってみたら、
>
> 予定・ としか表示されません。
>
これは漢字コードにSJISを使っている時の事ですよね。
例えば '表' の漢字コードはSJISで書くと "\x95\x5C" となり "\x5C" つまり '\' と
言う文字が漢字の2バイト目に現われることになります。
ご存じでしょうが、perlにおいて '\' と言う文字はエスケープ文字として
使われますので、例えば "表1" とか書くと、"表" の2バイト目の '\' が
"1"("\x82\x50") の 1バイト目の "\x82" をエスケープする事になり、
(エスケープしても特にコードは変わらないが) '\' 自体は無くなってしまうので
"\x95\x82\x50" となり、'浮P' などと表示されることになります。
と言うことで、これら2バイト目に "\x5C" が来る漢字による文字化けを
防ぐときには、"表\1" の様にその漢字の後ろ に '\' を付けてやって、
"\\" と続くようにして、'\' が消えるのを防ぐか、生に "\x95\x5C" の
様に漢字コードを書きます。
また、そもそも、"漢字" の様にダブルクォートで括る必要が無い
(文字列中の変数展開、エスケープ処理などが必要無い) なら、
'表' の様にシングルクォートで括ってやれば、エスケープ処理は
しないわけですから、小細工は必要有りません。
# ただし、シングルクォートで括った場合でも、問題の漢字が '予定表' の
# 様に最後に来ると、終わりの "'" をエスケープしてしまって文法エラーに
# なってしまうので、'予定表\' の様にする必要はありますが。
あ、簡単な解を忘れていました。漢字コードに EUC を使えば良いです。
EUC は常に bit7 が立っていますから、perl の特殊記号にマッチする
気遣いは無いです。(^^)
[RE]
Subject: Re: Perlでの漢字表示
From: Kaz
<kazuh@osk2.3web.ne.jp >
Date: 1997/09/16 17:17:18
Reference: mesh.program/00379
9月16日に、にあさんは書きました。
>これは漢字コードにSJISを使っている時の事ですよね。
そうです。 (すみません。)
>例えば '表' の漢字コードはSJISで書くと "\x95\x5C" となり "\x5C" つまり '\' と
>言う文字が漢字の2バイト目に現われることになります。
2バイト目は、考えもしてなかった。(^^;
>と言うことで、これら2バイト目に "\x5C" が来る漢字による文字化けを
>防ぐときには、"表\1" の様にその漢字の後ろ に '\' を付けてやって、
>"\\" と続くようにして、'\' が消えるのを防ぐか、生に "\x95\x5C" の
>様に漢字コードを書きます。
了解しました。
>あ、簡単な解を忘れていました。漢字コードに EUC を使えば良いです。
>EUC は常に bit7 が立っていますから、perl の特殊記号にマッチする
>気遣いは無いです。(^^)
今は、会社のintranetの中での話なのでこれも可ですね。
自分のページだとEUCでやるのは、少し面倒ですか。
どうもありがとうございました。
[NEW]
Subject: Perl でオブジェクト指向できるって本当ですか?
From: むーちゃん
<moo@moo.or.jp >
Date: 1997/09/17 13:11:15
むーちゃんです。
Perl は非常に強力なテキスト処理言語と思いますが、それ以外にも
Perl でオブジェクト指向プログラミングが出来ると、何かで聞いて
大変驚いています。
もし、それが本当とすれば、一体どのようにして実現されているので
しょうか?
詳しい方、レスをよろしくお願いします。
オブジェクト指向と言えば、元祖、Smalltalkが挙げられます。c++も
ありますが、cというシステム記述型、手続き指向型言語からの拡張
でこじつけたような物です。また、c++ はバイパスがいっぱいあり、
危険で、決してお勧めできるような代物ではありません。
また、オブジェクト指向と言うからには、カプセリングやインヘリタンス
などの機能をもつことが必要です。
Perl はどう考えても手続き言語としか見えないのです。
「もう一つのオブジェクト指向」というような解釈でもあるのでしょうか?
また、package宣言がそれだと言うのでしょうか? 確かに、packageを
利用すると変数が局所化できてしまうようですが、元祖のような、クラス
とインスタンスという概念はあるのでしょうか?
クラスは型、インスタンスは型から生成された実体です。1つのクラスから
実体はいくつでも生成可能です。Perlのpackage宣言でこれが実現でき
るのでしょうか? それができないとするなら、そのようなオブジェクト指向
とは一体なんなのでしょう?
[NEW]
Subject: パスワードを他のCGIに安全に渡す方法を教えて下さい。
From: むーちゃん
<moo@moo.or.jp >
Date: 1997/09/17 14:26:29
またまた、お騒がせのむーちゃんです。
クッキーに関連してもう1つ質問します。
直接的にはクッキーの問題ではないのですが、クッキーで
ユーザ入力のパスワードをクライアント側に送る操作の前段階で、
このパスワードを別のCGIに送信しています。
送信方法は、INPUTタグで TYPE="HIDDEN" と指定してvalueを
送っています。
すると受け取ったCGIから受信したページでは、普通の操作では
見えないのですが、右クリックからソースを表示を選択(IEのみ)
すると、ユーザが入力した生のパスワードが丸見えなのです。
安全を期すため、ファイルを介してやりとりする方法も考えられます
が、出来るだけスマートな方法で実現したいのです。
たとえば、valueに、crypt関数で暗号化したものを代入できればよい
のになあと思っています。
何か秘策をお持ちの方、ご教示頂ければ幸いです。
[RE]
Subject: Re: パスワードを他のCGIに安全に渡す方法を教えて下さい。
From: Yasu.F
<yasuf@ariake.ne.jp >
Date: 1997/09/17 19:14:37
Reference: mesh.program/00384
9月17日に、むーちゃんは書きました。
>送信方法は、INPUTタグで TYPE="HIDDEN" と指定してvalueを
>送っています。
>すると受け取ったCGIから受信したページでは、普通の操作では
>見えないのですが、右クリックからソースを表示を選択(IEのみ)
>すると、ユーザが入力した生のパスワードが丸見えなのです。
type=hiddenな<INPUT>タグは、単に「目に」見えないという
だけで、セキュリティ的には全く無意味です(というより、逆に悪用
される危険性が無いとも限りません)。
>安全を期すため、ファイルを介してやりとりする方法も考えられます
>が、出来るだけスマートな方法で実現したいのです。
いちばんスマートな方法は、
HTTPサーバ自身の認証機構を使う
ですね^^; これがいちばんシンプルで楽です。
>たとえば、valueに、crypt関数で暗号化したものを代入できればよい
>のになあと思っています。
具体的にどのような処理を行っているのかにもよりますが、
呼び出し先のCGIでパスワード文字列「そのもの」を知る必要が
なければ(cryptで暗号化された文字列は復号できない)、その
方法が使えないこともありません。
ただし、認証機構そのものの信頼性が半減してしまいますので
お薦めはしません。
# パスワードをCookieで覚えさせてもいいという程度の信頼性なら
# あまり関係ないような気もしますが…
## 勿論、Cookieのやりとりや記録は、ほとんどの場合
## クリアテキストで行われています
呼び出し元:
print qq!<input type=hidden name="passwd" value="$pw">!;
呼び出し先:
$param{'passwd'} eq $pw && &passwd_is_right;
[RE]
Subject: Re: パスワードを他のCGIに渡さずに解決しました。
From: むーちゃん
<moo@moo.or.jp >
Date: 1997/09/19 18:35:39
Reference: mesh.program/00386
Yasu.Fさん、ご無沙汰しております。
また、フォローをして頂き有難うございます。
9月17日に、Yasu.Fさんは書きました。
>いちばんスマートな方法は、
>
> HTTPサーバ自身の認証機構を使う
>
>ですね^^; これがいちばんシンプルで楽です。
そうなんですね。この点はよく分かっているつもりです。(;;)
しかし、HTTPサーバ自身の認証機構は、ディレクトリ単位で、ユーザを通過
させるか否かの二者択一しか行えませんよね。そこが問題と考えています。
実は私が実現したいのは、あるディレクトリ配下を、リードは誰でも可能、
ライトは特定者のみ可能、というような認証機能の設定です。
そのためには、cookie しかないかなって考えていた訳です。
>具体的にどのような処理を行っているのかにもよりますが、
>呼び出し先のCGIでパスワード文字列「そのもの」を知る必要が
>なければ(cryptで暗号化された文字列は復号できない)、その
>方法が使えないこともありません。
>ただし、認証機構そのものの信頼性が半減してしまいますので
>お薦めはしません。
実は投稿の後、自分でもいろいろ試していまして、cookie を使って何とか
解決できました。特に複雑なことをやったと言う訳ではないのですが・・・
どういう方法かと言いますと、まず、認証の有効期限はブラウザが立ち上がって
いるときのみに限定します。
それで、ブラウザ起動後、初めて投稿する(ライト)場合のみ、ユーザ名と
パスワードを入力して認証を行います。そして、次のCGIで set-cookie を
を飛ばします。
以降、ブラウザ終了までは同一ユーザと認め、認証をパスするという方法
です(ただし内部的には、cookie 情報とパスワードファイルを照合する処理
は当然ながら行なっています)。
これだと、始め考えていた、INPUTタグで TYPE="HIDDEN" と指定してvalueを
CGIにおくる方法を採らなくてよく、ソースにパスワードが丸見えと言うことは
無くなります。
また、ブラウザによっては飛ばした cookie を親切にも表示してしまうものが
あります。
この点の対策としては、自前の簡単なロジックでエンコードしてから飛ばすように
してやれば一応問題は起きません(もちろんデコーダも用意します)。
# 想定ユーザ範囲には、わざわざ解読するような暇な人はいないと思う(^^;
[RE]
Subject: サーヴァ機能だけでも十分です。
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/09/20 21:21:20
Reference: mesh.program/00389
9月19日に、むーちゃんさんは書きました。
>9月17日に、Yasu.Fさんは書きました。
>
>>いちばんスマートな方法は、
>>
>> HTTPサーバ自身の認証機構を使う
>>
>>ですね^^; これがいちばんシンプルで楽です。
>
>そうなんですね。この点はよく分かっているつもりです。(;;)
>しかし、HTTPサーバ自身の認証機構は、ディレクトリ単位で、ユーザを通過
>させるか否かの二者択一しか行えませんよね。そこが問題と考えています。
>実は私が実現したいのは、あるディレクトリ配下を、リードは誰でも可能、
>ライトは特定者のみ可能、というような認証機能の設定です。
>そのためには、cookie しかないかなって考えていた訳です。
>
単に読み書きで異なった制限を加えたいのが目的なら、サーヴァ機能だけでも十分です。
書き込みは必ず POST method で行なうようにしておいて、.htaccess の <Limit> の
method に POST だけを指定してやれば、書き込みの時だけサーヴァ認証が起動します。(^^)
[RE]
Subject: Re: サーヴァ機能だけでも十分です。
From: むーちゃん
<moo@moo.or.jp >
Date: 1997/09/22 18:50:32
Reference: mesh.program/00391
9月20日に、にあさんは書きました。
>単に読み書きで異なった制限を加えたいのが目的なら、サーヴァ機能だけでも十分です。
>
>書き込みは必ず POST method で行なうようにしておいて、.htaccess の <Limit> の
>method に POST だけを指定してやれば、書き込みの時だけサーヴァ認証が起動します。(^^)
うーん、なるほど。そういう奥の手がありましたか?
書き込み制限の方は、確かに Method を POST に限定してやればOKですね。
では、読込の方はどうすればよいのでしょうか?
想定している読込のシチュエーションは、単にスタティックなHTML文書を読み込むことでは
ありません。当然ながら、書込まれた可変長ファイルをCGIで読込み表示させることです。
GET で行えばよいとお考えなのでしょうか?(この場合、引数が相当長くなります)
それと、パスワード変更をユーザに任せるようにしようと考えています。結局は、それ用に
CGIを作らなければなりません。従ってパスワード関連の処理を全てをCGIで賄っても
そう手間は変わらないと思います。
[RE]
Subject: Re: サーヴァ機能だけでも十分です。
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/09/27 22:02:46
Reference: mesh.program/00392
9月22日に、むーちゃんさんは書きました。
>書き込み制限の方は、確かに Method を POST に限定してやればOKですね。
>
>では、読込の方はどうすればよいのでしょうか?
>想定している読込のシチュエーションは、単にスタティックなHTML文書を読み込むことでは
>ありません。当然ながら、書込まれた可変長ファイルをCGIで読込み表示させることです。
>GET で行えばよいとお考えなのでしょうか?(この場合、引数が相当長くなります)
>
なるほど、読み込み時も同じ様な CGI の出力なのですか。それでは GET と
POST で動作を切り分けるのはあまり得策では無いですね。
あたしだったら、読み込みと書き込みの CGI を別のディレクトリに置いて
サーヴァ機能を使うかもしれないですが、この辺は好き好きでしょうね。(^^)
>それと、パスワード変更をユーザに任せるようにしようと考えています。結局は、それ用に
>CGIを作らなければなりません。従ってパスワード関連の処理を全てをCGIで賄っても
>そう手間は変わらないと思います。
>
そうですね。全体の手間から言ったらさほど変わらないでしょうし、サーヴァ機能を
使うと、サーヴァとの連携を考えなくてはイケナイ分、作るのは面倒かもしれないです。
そのかわり、Cookie に対応していないブラウザでも問題ないですから
使う側の自由度は上がりますね。ま、この辺も好き好きですか。(^^)
[RE]
Subject: Re: サーヴァ機能だけでも十分です。
From: むーちゃん
<moo@moo.or.jp >
Date: 1997/10/01 14:58:54
Reference: mesh.program/00394
にあさん、毎度です。
ご意見、ありがとうございます。
9月27日に、にあさんは書きました。
>なるほど、読み込み時も同じ様な CGI の出力なのですか。それでは GET と
>POST で動作を切り分けるのはあまり得策では無いですね。
>あたしだったら、読み込みと書き込みの CGI を別のディレクトリに置いて
>サーヴァ機能を使うかもしれないですが、この辺は好き好きでしょうね。(^^)
なるほど。
CGI を置く場所を分けるという秘策がありましたか。気が付きませんでした(^^)
また、何かの機会にでも使わせて頂きます。
>>それと、パスワード変更をユーザに任せるようにしようと考えています。結局は、それ用に
>>CGIを作らなければなりません。従ってパスワード関連の処理を全てをCGIで賄っても
>>そう手間は変わらないと思います。
>>
>そうですね。全体の手間から言ったらさほど変わらないでしょうし、サーヴァ機能を
>使うと、サーヴァとの連携を考えなくてはイケナイ分、作るのは面倒かもしれないです。
サーバ機能を利用したパスワードのハンドリングについては、今後、改善して欲しい点の
1つですね。
「ユーザ側でのパスワード変更」機能や、「セキュリティ強化」を盛り込んで
貰えれば、私のお粗末なプログラムも不要になり、ハッピーになります(^^)。
>そのかわり、Cookie に対応していないブラウザでも問題ないですから
>使う側の自由度は上がりますね。ま、この辺も好き好きですか。(^^)
そーですね。
最近のブラウザは全て cookie に対応しているようですが、まだまだ古いブラウザ
幅を利かせており、にあさんのおっしゃるとおり要注意ですね。場合によっては
バージョンアップに追いまくられる羽目に陥るかも(;o;)
大変参考になりました。
[RE]
Subject: Re: サーヴァ機能だけでも十分です。
From: Yasu.F
<yasuf@ariake.ne.jp >
Date: 1997/10/01 18:56:25
Reference: mesh.program/00396
いまごろ気付いたんですけど、最近のApacheなどには
ファイルごとにオプション類の設定ができる <Files>
というディレクティブがあったりします。何となくこれが
使えるような。
10月1日に、むーちゃんさんは書きました。
>「ユーザ側でのパスワード変更」機能や、「セキュリティ強化」を盛り込んで
>貰えれば、私のお粗末なプログラムも不要になり、ハッピーになります(^^)。
セキュリティ自体が重要ならSSLを使うべきだと思うです:-)
いくら強力な認証をかけたところで、所詮はクリアテキスト…
# HTTP標準の認証ってのは単なる「目隠し」にすぎないでしょう
>最近のブラウザは全て cookie に対応しているようですが、まだまだ古いブラウザ
>幅を利かせており、にあさんのおっしゃるとおり要注意ですね。場合によっては
Cookieに対応しているブラウザを使っていながら、全て捨てている
天の邪鬼な奴もここにいます^^;;
[NEW]
Subject: ブラウザのURL入力のような機能をページに搭載したいのですが・・・
From: むーちゃん
<moo@moo.or.jp >
Date: 1997/09/17 15:03:45
むーちゃんです。
タグとタグをミックスしたような機能を実現したい
のですが、何かうまい方法をご存じの方、ご教示下さい。
つまり、セレクターから何かキーワードを選び、さらに、それをモディファイ
して入力させたいのです。
たとえば、javaスクリプトで実現されたこれに近いものが、JRのホーム
ページで見ることができますが、いま一つ物足りません。
一番近いイメージとしては、ブラウザーのURL入力エリアでしょうか。
ただ、URL入力エリアは、選択リストが更新されます。これに対して、タグはリスト内容が固定ですね。
[NEW]
Subject: 再投:ブラウザのURL入力のような機能をページに搭載したい・・・
From: むーちゃん。
<moo@moo.or.jp >
Date: 1997/09/17 22:56:24
むーちゃんです。
前の再投稿です。文書の一部がHTMLに解釈されてしまったためです。
INPUT タグと SELECT タグをミックスしたような機能を実現したい
のですが、何かうまい方法をご存じの方、ご教示下さい。
つまり、セレクターから何かキーワードを選び、さらに、それをモディファイ
して入力させたいのです。
たとえば、javaスクリプトで実現されたこれに近いものが、JRのホーム
ページで見ることができますが、いま一つ物足りません。
一番近いイメージとしては、ブラウザーのURL入力エリアでしょうか。
ただ、URL入力エリアは、選択リストが更新されます。これに対して、
SELECT タグはリスト内容が固定ですね。
[NEW]
Subject: Repost form data?
From: Kaz
<kazuh@osk2.3web.ne.jp >
Date: 1997/09/25 18:18:24
Kazです。
また初歩的な質問をさせていただきます。(^^;
Perlで書いたCGIを改造しているんですが、いくつかのテキストフォームから
の入力を受けて処理したあと、手動操作のreload等で再表示しようとすると
ネスケから、
Repost form data?
と言われてしまいます。
OKとすると再度前回入力したデータを入力エリアには表示してないのに、
処理してしまいます。
以前同じようなことがあって、<input type=text.....value="">とやれば
出なくなったことがあったので、やってみたんですが・・・・・
改造しているのは、よくある掲示板のCGIで、入力エリアと登録データを
一緒に表示してあり、入力後登録データを再表示するタイプのもの
です。
対処方法を教えて下さい。 お願いします。
[RE]
Subject: Re: Repost form data?
From: にあ
<nir@mxa.meshnet.or.jp >
Date: 1997/09/27 22:26:26
Reference: mesh.program/00393
9月25日に、Kazさんは書きました。
> Perlで書いたCGIを改造しているんですが、いくつかのテキストフォームから
>の入力を受けて処理したあと、手動操作のreload等で再表示しようとすると
>
> ネスケから、
>
> Repost form data?
>
> と言われてしまいます。
> 改造しているのは、よくある掲示板のCGIで、入力エリアと登録データを
>一緒に表示してあり、入力後登録データを再表示するタイプのものです。
>
うーん、こういうタイプのは作ったこと無いので単なる思いつきですが、
表示は単にリンクで出来る (METHOD は GET) ものですよね。
だったら、書き込み後に出力するのは、単にもとの CGI への移動にして
しまえばどうですか?
print "Location: http://$ENV{'SERVER_NAME'}/cgi-path/script.cgi\n\n";
みたいにして。
これだと書き込みの度に1回接続を損しますが、この手のものは書き込みより
読み込みの方が遥かに多いので、大した無駄にはならないように思います。
[NEW]
Subject: IPとマシン名
From: Hironobu
<i14hnakagawa@ec.usp.ac.jp >
Date: 1997/10/15 10:38:49
PerlでのCGIで、アクセスしてきたマシンのIPとマシン名を得たいのですが、
どうすればよいのでしょうか?
たしか、以前ここで見かけたような気もしましたが、なにぶんここはうち
からだと重いので、探すのはつらいです・・・。
よろしくお願いします。
#にあさん作のhttp.plを使わせてもらています。感謝。
[RE]
Subject: Re: IPとマシン名
From: Yasu.F
<yasuf@ariake.ne.jp >
Date: 1997/10/15 14:58:01
Reference: mesh.program/00398
10月15日に、Hironobuさんは書きました。
>PerlでのCGIで、アクセスしてきたマシンのIPとマシン名を得たいのですが、
>どうすればよいのでしょうか?
$ENV{'REMOTE_ADDR'}, $ENV{'REMOTE_HOST'} ですね。
ただし、ここのようにサーバ自身が逆引き(IPアドレス→ホスト名)を
しない設定になっている場合は、ホスト名が欲しいときは自前でやる
ことになります。
[RE]
Subject: Re: IPとマシン名
From: Hironobu
<i14hnakagawa@ec.usp.ac.jp >
Date: 1997/10/15 20:52:49
Reference: mesh.program/00399
10月15日に、Yasu.Fさんは書きました。
>>PerlでのCGIで、アクセスしてきたマシンのIPとマシン名を得たいのですが、
>>どうすればよいのでしょうか?
>$ENV{'REMOTE_ADDR'}, $ENV{'REMOTE_HOST'} ですね。
>ただし、ここのようにサーバ自身が逆引き(IPアドレス→ホスト名)を
>しない設定になっている場合は、ホスト名が欲しいときは自前でやる
>ことになります。
どうもありがとうございます。
ちなみに、うちのNTサーバでも逆引きはしてくれませんでした。
以上100記事(キャンセル分を含む)
ホームペーヂに戻る
nir@mxa.meshnet.or.jp
Last Update: 7 March 1998