AN HTTPD ゲストブック/コメント集(2003年7月18日18:53)


いと gfh05223@nifty.com 2003/07/24 01:08

犬山大王さんの件を解説すると、URLを正しく
http://ksinuyama.ddo.jp/cgi-bin/bbsnote.cgi
とすれば何も問題はないのですが、誤って
http://ksinuyama.ddo.jp/cgi-bin/bbsnote.cgi/
のように最後に / をつけてしまうとイメージへのアクセスが
http://ksinuyama.ddo.jp/cgi-bin/bbsnote.cgi/data/IMG_000001.jpg
となるし、リンクでも /bbsnote.cgi/ が余分に入ってしまい
正常な動作をしないという現象が起きていたのです。
javaアプレットでエラーするのも同じ原因のようです。

ちひゃさんが言うように bbsnote.cgi/… とするのは PATH_INFO
という使い方があるのでサーバがエラーにするわけにはいきません。

この防衛策としては以下の過去ログが参考になるかと思います。
http://homepage1.nifty.com/yito/namazu/gbook/20011220.1238.html

犬山大王さんの例で言うと<HEAD> </HEAD> の間に
<BASE HREF="http://ksinuyama.ddo.jp/cgi-bin/">
が入るように CGIを書き替えてやればいいということです。
ソースでいうと skin.cgiの113行目の次あたりでいいかと思います。
これによってもしローカルでアクセスできなくなるようなら
hostsに ksinuyama.ddo.jp を設定してみてください


ちひゃ chihya@nifty.ne.jp 2003/07/23 03:04

To いとさん

CGI に続く スラッシュ から始まる文字列は、PATH_INFO という環境変数で CGI に渡されます。
ですので、

http://host.domain/hoge/xxx.cgi/

と書いたら、PATH_INFO に "/" を設定した状態で
普通に xxx.cgi を実行してくれないと困ります(^^;


いと gfh05223@nifty.com 2003/07/23 00:23

中田さん
犬山大王さんの件、
http://host.domain/hoge/xxx.html/ なら Error 403になるのですが、
http://host.domain/hoge/xxx.cgi/ だと / がついたまま xxx.cgiを
実行してしまうことに問題はないでしょうか?


犬山大王 . 2003/07/22 06:44

追加です。 エラーログです。

Tue Jul 22 06:12:27 2003 AN HTTPD 1.42h Ready. 
Tue Jul 22 06:29:56 2003 Error Response 404 Thread 0(ID= -921953) to 192.168.1.99 for "/cgi-bin/pbbs/PaintBBSBeanInfo.class"
サーバは今でもアクセス出来ると思います。


犬山大王 . 2003/07/22 06:36

いとさん>中田さん>いろいろ有難うございます。HTTPD.LOGを見ると
やはり指定パスが違うような気がします。ちょとその辺を見た方がいいようですね!。
参考にlogを書いときます。

61.213.69.123 - - [22/Jul/2003:06:26:41 +0900] "GET /cgi-bin/bbsnote.cgi/data/IMG_000009.jpg HTTP/1.0" 200 22491 
61.213.69.123 - - [22/Jul/2003:06:26:41 +0900] "GET /cgi-bin/bbsnote.cgi/data/IMG_000008.jpg HTTP/1.0" 200 22491
61.213.69.123 - - [22/Jul/2003:06:26:42 +0900] "GET /cgi-bin/bbsnote.cgi/data/IMG_000007.jpg HTTP/1.0" 200 22491
61.213.69.123 - - [22/Jul/2003:06:26:43 +0900] "GET /cgi-bin/bbsnote.cgi/data/IMG_000006.jpg HTTP/1.0" 200 22491
61.213.69.123 - - [22/Jul/2003:06:26:44 +0900] "GET /cgi-bin/bbsnote.cgi/data/IMG_000003.jpg HTTP/1.0" 200 22491
61.213.69.123 - - [22/Jul/2003:06:26:44 +0900] "GET /cgi-bin/bbsnote.cgi/data/IMG_000002.jpg HTTP/1.0" 200 22491
61.213.69.123 - - [22/Jul/2003:06:26:46 +0900] "GET /cgi-bin/bbsnote.cgi/data/IMG_000001.jpg HTTP/1.0" 200 22491
61.213.69.123 - - [22/Jul/2003:06:26:48 +0900] "POST /cgi-bin/bbsnote.cgi/bbsnote.cgi HTTP/1.0" 200 16811
192.168.1.99 - - [22/Jul/2003:06:29:52 +0900] "GET /cgi-bin/bbsnote.cgi HTTP/1.1" 200 22491
192.168.1.99 - - [22/Jul/2003:06:29:52 +0900] "POST /cgi-bin/bbsnote.cgi HTTP/1.1" 200 16931
192.168.1.99 - - [22/Jul/2003:06:29:52 +0900] "GET /cgi-bin/PaintBBS.zip HTTP/1.1" 304 0
192.168.1.99 - - [22/Jul/2003:06:29:56 +0900] "GET /cgi-bin/pbbs/PaintBBSBeanInfo.class HTTP/1.1" 404 225
ローカルアドレスとグローバルアドレスではパスが違うようです。


中田昭雄 nakata@st.rim.or.jp 2003/07/21 20:21

犬山大王さん、
いとさんの言うとおり、
http://ksinuyama.ddo.jp/cgi-bin/bbsnote.cgi
ですね。
もっともこれでは /cgi-bin/ の中に BBSNote やその他の CGI が混在している状態でしょうから、あまりよい使い方とは思えません。
別に /cgi-bin の下でなくてもいいので、BBSNote 用のフォルダを作りましょう。

問題の灰色のエラーは config.cgi の中で http://ローカルアドレス/ を設定してしまっているとそうなりそうな気もします。


いと gfh05223@nifty.com 2003/07/21 20:10

犬山大王さんのURLは正しくは
http://ksinuyama.ddo.jp/cgi-bin/bbsnote.cgi
であり、最後の / は不要なのでしょうね?
http://ksinuyama.ddo.jp/cgi-bin/
でも同じところにアクセスするようですが。

原因は分かりませんが、そのページで「PAINT」をクリックすると
以下のエラーメッセージが出ます。

ライン:270
文字:2
エラー:オブジェクトでサポートされていないプロパティまたはメソッドです。
コード:0
URL:http://ksinuyama.ddo.jp/cgi-bin/bbsnote.cgi

ちなみに270行目は以下の通りです。
p = String(document.paintbbs.getColors());

http://192.168.1.99/cgi-bin/bbsnote.cgi なら Javaアプレットが
正常に表示されるのだとすると何でしょうかね?

以下の Support BBSの過去ログは調べられましたか?
http://wondercatstudio.com/bbs/support/cbbs.cgi
キャンバスが灰色になるというのは FAQ のようです。
ただグローバルとローカルで動作が違うのだとすると
向こうで聞いても悩むかもしれませんね。


ちひゃ chihya@nifty.ne.jp 2003/07/21 19:31

To 犬山大王さん

今アクセスしてみました。BBSの表示が出ますが、確かに絵が出ませんね。
そこで絵のURLを確認したところ、

http://ksinuyama.ddo.jp/cgi-bin/bbsnote.cgi/data/IMG_000001.jpg

となっていました。これは正しくなさそうです。
試しにブラウザで

http://ksinuyama.ddo.jp/cgi-bin/data/IMG_000001.jpg

を指定したところ、絵が出ました。こっちが正しいURLですよね?

ローカルとグローバルで何で変わるのか不明ですが、
ここら辺にヒントがありそうだと思います。


犬山大王 1 2003/07/21 18:41

中田さん>すいません!。ローカルアドレスです。192.168.1.99にしてます。
こちらでアクセスした場合OKでしたが外部サーバに繋ぐとエラーになるようです。
画像もアクセス出来ません。今こちらに繋がると思います。


中田昭雄 nakata@st.rim.or.jp 2003/07/21 07:14

犬山大王さん、
そのアドレスにアクセスできないのでよくわかりません。
LAN経由というときは、どういうアドレスでやっているのですか?


犬山大王 2003/07/20 20:57

中田さん>たびたび、すいません。アドレスを載せます。http://ksinuyama.ddo.jp/cgi-bin/bbsnote.cgi/ です。灰色になったままアプレッドが起動しません。
lan経由では、問題ありませんでした。UNIXの関係でしょうか?。
CGIの書き換えが必要かもしれませんが、書き換え項目が解りません。
御免なさい。宜しくお願いします。今現在も色々やってますが上手くいきません。
perlは、ActivePerl-5.6.1.635-MSWin32-x86をインストール済みです。
投書はお互いが出来ました。


中田昭雄 nakata@st.rim.or.jp 2003/07/20 20:32

犬山大王さん、
「PBBSのアプレットの時にエラーがでます」だけではなんともわかりません。
どんなエラーが表示されるのですか?


犬山大王 . 2003/07/19 10:23

中田さん>始めまして 外部サーバは外部から見る事です。wwwサーバのテスト
と友達にアクセスしてもらったんですが結果は一緒です。直接アクセスすると問題なく
動作します。色々ためし見るのですが変化なしです。専門的な事は解りません。
PBBSのアプレットの時にエラーがでます。宜しくお願いします。


中田昭雄 nakata@st.rim.or.jp 2003/07/19 05:58

犬山大王さん、
「外部サーバ」というのは外部からのアクセスの時、という意味ですか?


犬山大王 inuydaio@infoseek.jp 2003/07/18 18:53

始めましてANHTTPDを使わさしてもらってます犬山大王です。
実は外部サーバでpaintBBSの画像がPNGが表示されないのと、アブレットを
開いた時エラーになります。灰色の画面!。内部サーバではちゃんと動作してました。
ActivePerlも入れています。投書だけは出来るようです。色々過去ログ等見たんですが
よく解らずです。OSはwinmeを使ってます。ルータはBARSW-4P
です。 なぜ内部サーバで動作出来て外部サーバでは駄目なんでしょうか?。
宜しくお願いします。