ラウンジ(兼FAQ掲示板)

simple_access2の設置に関して質問です。
過去ログ NO.1089813533
□ よね [2004年07月06日00時39分]
こんにちは。
simple_access2 v.1.0をDLさせていただきました。
設置についてアドバイスをお願いいたします。

Readmeとサーバーの説明に従って設置したのですが、ページ上で画像が表示されず
×印になっています。
log_check.cgi は呼び出すことはできますがカウントされていませんでした。
設置サーバーはCOOLONLINEで、CGIは別サーバーからの呼び出しになっています。

設置URL

http://suzuka.cool.ne.jp/yone99/test.shtml

log_check.cgi呼び出しURL(CGI格納用サーバー)

http://yone99.cool.ne.jp/cgi-bin/access/log_check.cgi

設置ページのスクリプト呼び出しは

<script>
document.write(
'<img src="
http://yone99.cool.ne.jp/cgi-bin/access/access.pl?',
parent.document.referrer,
'">'
)
</script>

このように記述しました。

CGIサーバーのディレクトリです。

public_html
├cgi-bin
  └access(777)
    ├access.pl (755)
    ├access.dat (666)
    ├log_check.cgi (755)
    └bar.gif

ファイルロックも0にしてみましたが症状は変わりませんでした。
お手数をおかけしますがよろしくお願いいたします。



□ よね [2004年07月07日14時17分]
一部補足です。

「電光!」「slot_counter」を設置しました。
同じようにCGIサーバーに設置し、呼び出しを
http://yone99.cool.ne.jp〜  に指定しました。
こちらは問題なく表示されています。

アップロードした際にPerlのパスを間違っていたので修正しました。

<img src="http://yone99.cool.ne.jp/cgi-bin/access/access.pl">
こちらで呼び出しても×印のままです。

利用している COOL ONLINE ではCGI仕様が変更になっているのですが
正直意味がよくわかりません。
仕様変更前に設置していたCGI(他所配布物)は特に問題なく作動しています。

COOL正規会員 CGI仕様詳細
http://www.cool.ne.jp/index.cgi?pg=cool_help_FTP-1002.html

お手間をおかけしますがアドバイスをよろしくお願いいたします。

P.S.
「slot_counter」ですが、Perlのパスを間違えたままでも
正常に作動していました。(さっき気がついて修正しましたが)
そういうこともあるんでしょうか?
□ NXer [2004年07月09日00時09分]
はじめまして。NXerです。

当方のローカル・サーバーでも同じ×印がでました。
この原因を発見したような気がしますので、参考に試してください。

その1)初期設定

18 # ファイルロック (0 = OFF 1 = ON)
19 $lock_mode = 0;
にしました。しかし、以下の理由でこの変更は不要であったかも
しれません。

その2)cgiの起動形式

<BODY>
<script>
document.write('<img src="./access/access.pl?',parent.document.referrer,'">')
</script>
</BODY>
</HTML>

当方のエディターでwrite文中の改行などに、改行コードが紛れ込まないように
"./access以下、、、、referrer,'">')までを一行にしました。

その3)×はすえぽんさんのaccess.plに記述ミスがあるはずと考えました。

その結果
----------------------------
92行      @crl =  に対して
98行 foreach (@clr) でした。
-------------------------------
98行目を 92行目に合わせて@crlとしてみました。

これではまだ、x印は解消されませんでした。

その4)そこでエディタの表示を疑いました。

実際は
92 @crl = (↓(エディタの緑色改行マーク)
"47","49","46","38","39","61","01","00","01","00",↓(エディタの緑色改行マーク)のようになっています。

このことから、92行目を連続する一行にまとめてみました。
@crl= "47","49","46","38","39","61","01","00","01","00","80","01","00","00","00","00","ff","ff","ff","21","f9","04","01","00","00","01","00","2c","00","00","00","00","01","00","01","00","40","02","02","4c","01","00","3b");
(ラウンジに表示される際に、@crlからのこの連続は多少改行されたりするかも
しれません。)

結果です。

すくなくともアクセスの記録をとることまではできました。
access.dataの記録です。

20040708230839,,127.0.0.1,,Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Win 9x 4.90)

http://127.0.0.1/~user/access/log_check.cgi
の記録例です。

もちろんACCESS_CHECKER
☆Today's(2004/07/08)... Total_Access:7 hits
と出ました。sort(today)も棒グラフがでました。

real time modeの上のデータ例です。
NO.7 [2004/07/08 23:08:39]
□ (127.0.0.1)
□Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Win 9x 4.90)

なお、ディレクトリ構成は、不具合解消の目的のため
すえぽんさんの構成と同じにしてあります。

偶然の要素が重なって成功したのか、いくつもの不具合を
適切に克服したのか、そちらで類似の動作検証をしていた
だければ、明確になるものと思います。
当方は、この上位バージョンのhyper_indexを使っています。
このcgiは使っていません。しかし、なぜこのような不具合
が出るのか、大きななぞでした。もし、同じなぞに挑戦して
いただければ、うれしい限りです。
□ よね [2004年07月10日02時03分]
NXer 様 
初めまして。よねと申します。過去ログでお名前は拝見しております。
お手数をおかけしますがよろしくお願いいたします。

早速アドバイスをいただいた部分を試してみました。
結果は…残念ながら×印も消えませんし、ログもとれませんでした。


その1)初期設定
>
> 18 # ファイルロック (0 = OFF 1 = ON)
> 19 $lock_mode = 0;
> にしました。しかし、以下の理由でこの変更は不要であったかも
> しれません。

設定1、0の状況で下記の変更を試してみました。

その2)cgiの起動形式
>
> <BODY>
> <script>
> document.write('<img src="./access/access.pl?',parent.document.referrer,'">')
> </script>
> </BODY>
> </HTML>
>
> 当方のエディターでwrite文中の改行などに、改行コードが紛れ込まないように
> "./access以下、、、、referrer,'">')までを一行にしました。

test.shtmlでは左から 2)の変更、変更なし、<img src="〜 の順で
×印が表示されています。

その3)×はすえぽんさんのaccess.plに記述ミスがあるはずと考えました。
>
> その結果
> ----------------------------
> 92行      @crl =  に対して
> 98行 foreach (@clr) でした。
> -------------------------------
> 98行目を 92行目に合わせて@crlとしてみました。
>
> これではまだ、x印は解消されませんでした。

指示通り変更しましたが×印は解消されませんでした。

その4)そこでエディタの表示を疑いました。
>
> 実際は
> 92 @crl = (↓(エディタの緑色改行マーク)
> "47","49","46","38","39","61","01","00","01","00",↓(エディタの緑色改行マーク)のようになっています。
>
> このことから、92行目を連続する一行にまとめてみました。
> @crl= "47","49","46","38","39","61","01","00","01","00","80","01","00","00","00","00","ff","ff","ff","21","f9","04","01","00","00","01","00","2c","00","00","00","00","01","00","01","00","40","02","02","4c","01","00","3b");
> (ラウンジに表示される際に、@crlからのこの連続は多少改行されたりするかも
> しれません。)
>

指示通りに一行にまとめてみました。

COOL ONLINEではセキュリティの関係で一部の関数を制限しているようです。
どの関数が制限されているのか確認してみます。

変更箇所を間違えていないと思いますが…なかなか難しいですね。

□ NXer [2004年07月10日19時26分]
>結果は…残念

↓のURLで、ファイルを開く、保存ができました。

http://yone99.cool.ne.jp/cgi-bin/access/access.pl?',parent.document.referrer

このことから、次の諸点が明確になりました。

■ 92行目@crl 98行目@clrの配列名が変更されていません。
□ つづりを統一して、その結果をみてください。
-----------------------------------------------
@crl = (
"47","49","46","38","39","61","01","00","01","00","80","0、、、,
print "Content-type: image/gif\n\n";
@clr {
$data = pack('C*',hex($_));
-------------------------------------------------
□ その結果は、access.datをエディタで開いてみてください。
  もしくは、log_check.cgiの起動で確認できます。

>…なかなか難しいですね。
電光のように複雑な変更があってもすんなり設置できることもあります。
しかし、ひとつ躓(つまづ)くと、泥沼状態です。
以下、よろしければ、参考にしてください。当方からの救援
ロープです(届かなかったり、切れ掛かっているかも)。

==作業メモ==
当方も、ローカル・サーバーでは混乱しました。
というのは、access.plをエディタで変更し、上書き保存、さらに
ブラウザIEで呼び出しても、変更前のスクリプトになってい
ることがたびたびあったからです。
原因は、よく分かりません。変更の都度、コンピュータ
の再起動をするなど、一時ファイルや元ファイルを確実に消去し、
変更後のファイルを確認して動作確認をしました。

ほとんどのすえぽんさんのcgiはダウンロード、即ローカ
ルで確認可能です。
ただ、このような変数エラーなどは、作成者以外には、発見が
困難です。幸い短いスクリプトでしたから、気がついたまでです。

==検証の仕方==

画像の情報は右クリック、プロパーティで確認できます。
>test.shtmlでは左から 2)の変更、変更なし、<img src="〜 の順で
×印が表示されています。

そちらの3つのx印の画像上で右クリックしてそのプロパティ
を見てください。基本的にはすべて正しい結果になっている
と思います。左から2つは同じ結果でした。つまり、行の変わ
りは影響なしですね。
最後は、"./"で始まるため、
http://suzuka.cool.ne.jp/yone99/
の実在しないディレクトリとperlのファイル名
/access/access.plを返しています。その意味では正しく
機能していることがわかります。

------------------------------
<script>
document.write(
'<img src="http://yone99.cool.ne.jp/cgi-bin/access/access.pl?',parent.document.referrer,'">') ・1行の例 A
</script>
<script>
document.write(
'<img src="http://yone99.cool.ne.jp/cgi-bin/access/access.pl?',
parent.document.referrer,
'">' 
)・・・・・・すえぽんさんのサンプルのコピーペースト B
</script>
<img src="./access/access.pl"> ・・・・相対パス C
</BODY>
</HTML>
--------------------------------------------
画像上のデータ
A)とB)http://yone99.cool.ne.jp/cgi-bin/access/access.pl?http://lounge.suepon.com/lounge.cgi?mode=log_view&no=1089041952
C) http://suzuka.cool.ne.jp/yone99/access/access.pl

>test.shtml
やindex.shtmlから、SSI対応にされているようですね。

そちらのFAQサイトです。
http://www.cool.ne.jp/index.cgi?pg=cool_help_FAQ-1003.html#5-09
引用----------------------------------------------------
COOL ONLINE 正規会員はCGI,SSI利用可能ですが、
必ず使わないといけないというような義務はありません。
普通のhtmlだけでも楽しいホームページは出来ますよ。
-----------------------------------------------------
今回の不具合とは直接関係はないと思いますが、
htmlプラスCGIで当方は運用しております。
test.htmlページでも同じ結果になると思います。FAQを読む限り、
そうなると思います。

cgi、やすえぽんさんのスクリプトは、潜在的なすごさが
満載です。情報の交流が、そして、共有ができました点、ありが
とうございました。×印が解消できますことを願っています。
□ よね [2004年07月10日23時19分]
NXer 様 こんにちは。

せっかくアドバイスをいただいていたのにちゃんと理解できなくてすみません。
もう一度ファイルをアップロードし直して修正してみました。


> ----------------------------
> 92行      @crl =  に対して
> 98行 foreach (@clr) でした。
> -------------------------------
 
98行目の@clrを@crlに修正しました。

結果は…やはりダメでした。

> -----------------------------------------------
> @crl = (
> "47","49","46","38","39","61","01","00","01","00","80","0、、、,
> print "Content-type: image/gif\n\n";
> @clr {
> $data = pack('C*',hex($_));
> -------------------------------------------------

こちらの設定でも試してみましたが、やはりログはとれませんでした。

電光!がすんなり設置できたのがかなりのまぐれだったようです。
スクリプトがなんなのか自体よくわかっていないので
頭の中がぐるぐるしてしまいます。




> >test.shtml
> やindex.shtmlから、SSI対応にされているようですね。

COOL ONLINEではポップアップ広告が表示されます。
shtml(shtm)にすることで広告を非表示にすることができるので
そちらを利用しております。

何とかして設置したいですね。あきらめたくないです。

P.S.
私の他にも別サーバーからの呼び出しでsimple_access2を
設置された方っていらっしゃるのでしょうか?

□ NXer [2004年07月11日19時42分]
>何とかして
cgi設置の基本にもどります。おそらく、どこかに
>スクリプトがなんなのか
これまであいまいにされていた点があるはずです。

1)ディレクトリ構成と2)初期値設定がすべてです。

すえぽんさんのスクリプト@crlに変更したことで
当方は正常に機能しましたから、スクリプトに他の
エラーないものと考えます。

すると、上の2点に必ずエラーがあると考えます。NXerです。

これは、そちらの初期設定です。(▲△はNXer挿入)
▲-------------------------------
# ログファイルを置くディレクトリの名前
▲$tmp = "./access";
# ログファイルの名前
$file = "access.dat";
------------------------------------------
初期設定と
http://yone99.cool.ne.jp/cgi-bin/access/access.pl?
から、access.plのディレクトリ構成図を書いてみます。
-----------------------------
/public_html/
.....|-/cgi-bin/
...........|-/access/・・・△このディレクトリまでのパスはOK
................|-/access ・・・▲$tmpが、重複?
................|.....|-accessaccess.dat・▲存在しない$tmp$file
................|-access.pl・・△正しく呼び出されている
................|-access.dat・△本来のデータファイル書き込み無し

すえぽんさんの初期設定です。
△-------------------------------
# ログファイルを置くディレクトリの名前
△$tmp = "./";
# ログファイルの名前
$file = "access.dat";
------------------------------------------
$tmp = "./";
の意味ですが、現在のディレクトリ(/cgi-bin/access/)内でこのスクリプト
は動作します、ということです。相対パスという記述の仕方です。

ディレクトリを現在のディレクトリに直せば、
http://suzuka.cool.ne.jp/yone99/test.shtmlファイル中の
access.pl呼び出しによって、データ読み書きのパスは、
http://yone99.cool.ne.jp/cgi-bin/access/access.dat
になると思います。(あくまでも愚考です、動作を保証
するものではありません。試してください。)

>私の他にも別サーバーから
cgi設置については、利用者にその報告義務はありません。
成功すればそれでよし。失敗すれば、他のcgiへ。電光!の
場合は、nifty,biglobeなどで多数の方が成功されています。

access.plと同等さらには上位機能をもつスクリプトを
無料、有料で提供するサービスもふえているため、すえぽん
さんのスクリプト(2001〜2002年ごろ)を地道に試される方は、
残念ですが、「絶滅のおそれがある」方々です。ブロッグなど
の華々しい流行にもかかわらず、当方は、すえぽんさんのcgiは
不滅です、と世界の片隅から叫び続けたいのですが(苦笑)。
□ よね [2004年07月13日16時54分]
NXer 様 こんにちは

> 1)ディレクトリ構成と2)初期値設定がすべてです。
>
> すえぽんさんのスクリプト@crlに変更したことで
> 当方は正常に機能しましたから、スクリプトに他の
> エラーないものと考えます。
>
> すると、上の2点に必ずエラーがあると考えます。NXerです。
>
> これは、そちらの初期設定です。(▲△はNXer挿入)
> ▲-------------------------------
> # ログファイルを置くディレクトリの名前
> ▲$tmp = "./access";
> # ログファイルの名前
> $file = "access.dat";
> ------------------------------------------
> 初期設定と
> http://yone99.cool.ne.jp/cgi-bin/access/access.pl?
> から、access.plのディレクトリ構成図を書いてみます。
> -----------------------------
> /public_html/
> .....|-/cgi-bin/
> ...........|-/access/・・・△このディレクトリまでのパスはOK
> ................|-/access ・・・▲$tmpが、重複?
> ................|.....|-accessaccess.dat・▲存在しない$tmp$file
> ................|-access.pl・・△正しく呼び出されている
> ................|-access.dat・△本来のデータファイル書き込み無し
>
> すえぽんさんの初期設定です。
> △-------------------------------
> # ログファイルを置くディレクトリの名前
> △$tmp = "./";
> # ログファイルの名前
> $file = "access.dat";
> ------------------------------------------
> $tmp = "./";
> の意味ですが、現在のディレクトリ(/cgi-bin/access/)内でこのスクリプト
> は動作します、ということです。相対パスという記述の仕方です。
>
> ディレクトリを現在のディレクトリに直せば、
> http://suzuka.cool.ne.jp/yone99/test.shtmlファイル中の
> access.pl呼び出しによって、データ読み書きのパスは、
> http://yone99.cool.ne.jp/cgi-bin/access/access.dat
> になると思います。(あくまでも愚考です、動作を保証
> するものではありません。試してください。)

アドバイスありがとうございました。
ご指示通り
$tmp = "./";
に変更してみました。
結果は変わりません(私が間違っていれば別ですが…)

「なんでじゃぁ〜〜」と叫びたくなります。
正直諦めてしまおうとも思います。
でもやっぱりこれを使いたいと思う自分がいます。
…不思議です。

COOL ONLINE からの回答は
セキュリティの関係上制限している関数は
公表できないとのことでした。
こちらからこの関数は利用できるかどうかの
質問には答えてくれるそうです。

> access.plと同等さらには上位機能をもつスクリプトを
> 無料、有料で提供するサービスもふえているため、すえぽん
> さんのスクリプト(2001〜2002年ごろ)を地道に試される方は、
> 残念ですが、「絶滅のおそれがある」方々です。ブロッグなど
> の華々しい流行にもかかわらず、当方は、すえぽんさんのcgiは
> 不滅です、と世界の片隅から叫び続けたいのですが(苦笑)。

ぶっちゃけた話、すえぽんさんに有償での設置を依頼しようかとも
考えてました。
でも自分でやるからいいんだよな〜と(笑)
すえぽんさんのCGIが絶滅危惧種だとは思いませんでした。
逆に世界遺産なのではと自分では思います。
NXer 様のようにネットの端っこで声を上げることができるように
なりたいです。
□ NXer [2004年07月13日21時26分]
>正直諦め
タイプがありますので、時に、一時撤退も大事です。
(これはネットに限った個人的見解です。世界情勢に意見する
ものではありません。)
だめでもともと、とクールに開き直り次のURLを試したみました。
NXerです。

http://yone99.cool.ne.jp/cgi-bin/access/access.dat

もちろん画面は見かけは空白。遊びのつもりでブラウザでその
ソースを見たところ、次のとおり。
--------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD>
<BODY><PRE></PRE></BODY></HTML>
----------------------------------------------------------------
access.datについて、すえぽんさんの指示です。
------------------------
access.dat (666) データ記録用ファイル(空のファイル)
-------------------------
ダウンロードしたままのファイルをテキストで転送された
ものと思いますが、どうでしょう。
もしこの操作が正しく、access.datに上のデータが
記録されていると、access.plがこのデータを読み込
もうとしてもデータのタイプが一致しないため、×印
を返すのでしょうか。

そちらで一度
access.datについて中身を確かめてください。
空のはずですが、何か操作されましたか。
それとも、上のデータを書き込めたとしたら、
間違いであっても、書き込んでいることまでは確認できた
わけです。目的からは遠いですが、少なくとも「泥沼」
に硬い底が確認できた感じですね。

>自分でやる
当方は、ただ応援の叫び声を大きくする程度です。
□ よね [2004年07月14日21時38分]
NXer 様 こんにちは。

>
> http://yone99.cool.ne.jp/cgi-bin/access/access.dat
>
> もちろん画面は見かけは空白。遊びのつもりでブラウザでその
> ソースを見たところ、次のとおり。
> --------------------------------------------------------------
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
> <HTML><HEAD>
> <META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD>
> <BODY><PRE></PRE></BODY></HTML>
> ----------------------------------------------------------------
> access.datについて、すえぽんさんの指示です。
> ------------------------
> access.dat (666) データ記録用ファイル(空のファイル)
> -------------------------
> ダウンロードしたままのファイルをテキストで転送された
> ものと思いますが、どうでしょう。
> もしこの操作が正しく、access.datに上のデータが
> 記録されていると、access.plがこのデータを読み込
> もうとしてもデータのタイプが一致しないため、×印
> を返すのでしょうか。

ダウンロードしたファイルをそのままアップし、666に設定してあります。
エディタで確認しましたが空ファイルでした。

結局問題はなんなんでしょう?
・ページを認識してくれない
・CGI(関数)が規制されている?
・初期設定が間違っている?
・パーミッションが違う?

現在利用している掲示板CGIで、ログデータを修正したときに
元々が666だったのに、修正後は777でしか認識してくれなかったことがあります。

暑さもあって頭の中がぐるぐるです。。・゚・(ノД`)・゚・。ウエエェェン

□ NXer [2004年07月14日22時27分]
http://yone99.cool.ne.jp/cgi-bin/access/access.pl
にてそちらのファイルの保存ができることに気づきダウンロード
しました。そのままでは当方のローカル・サーバで相変わらず×印。
スクリプトは正しいと信じています。そちらの諸設定も正しいと
信頼しています。でも、どこかに、解決のための設定変更が
あるはずと考えました。

驚きました。次の変更でx印が出なかったのです。さすがに、
これは、暑さで、頭も目もやられたのかと疑いました。

-----------------------------------------------------
# ファイルロック (0 = OFF 1 = ON)
$lock_mode = 0;
-------------------------------------------------------

不安を確かめるために、log_checkをみたところをlogを
きちんととることができていました。

その記録です。念のため2度試しました。127.0.0.1は当方の
コンピュータを意味します。参照元はこのため記録されません。

NO.1 [2004/07/14 22:01:38]
□ (127.0.0.1)
□Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Win 9x 4.90)
NO.2 [2004/07/14 22:00:54]
□ (127.0.0.1)
□Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Win 9x 4.90)

真夏の夜の夢のような出来事かもしれません。できすぎているからです。
勇気があれば、試してください。
□ よね [2004年07月14日22時58分]
NXer 様 こんにちは。
早速のレスありがとうございます。

実は「同一サーバーからなら呼び出せるのでは?」と思い
CGIサーバーにテストページをアップしてみました。

http://yone99.cool.ne.jp/cgi-bin/test.shtml

すえぽんさんの指示通りのタグでも同じ×印だったので
フルパスで呼び出してみましたがダメでした。


> http://yone99.cool.ne.jp/cgi-bin/access/access.pl
> にてそちらのファイルの保存ができることに気づきダウンロード
> しました。そのままでは当方のローカル・サーバで相変わらず×印。
> スクリプトは正しいと信じています。そちらの諸設定も正しいと
> 信頼しています。でも、どこかに、解決のための設定変更が
> あるはずと考えました。
>
> 驚きました。次の変更でx印が出なかったのです。さすがに、
> これは、暑さで、頭も目もやられたのかと疑いました。
>
> -----------------------------------------------------
> # ファイルロック (0 = OFF 1 = ON)
> $lock_mode = 0;
> -------------------------------------------------------
>
> 不安を確かめるために、log_checkをみたところをlogを
> きちんととることができていました。

早速ファイルロックを0にして試してみました。
やはりこちらでは表示されません。
やっぱりサーバー側で規制されている可能性が強くなってきた気がします。
規制されている関数を問い合わせようにも、なにがなんだかわからないので
調べるのに時間がかかりそうです。
まさかファイル丸ごと送るわけにもいきませんし(笑)
やれるだけのことをやってみます。
それでダメなら…そのとき考えます。
貴重なお時間を裂いていただきいつもありがとうございます。

一定時間書込が無かったので過去ログに移りました

suepon.com | CGI作成/CGI制作 | JavaScript | ドメイン検索 | バナー自動作成 | Google ダンスツール | 松浦亜弥 | H.P.memo | パソコン | ネイル

Copyright (C) 2002 - 2008 suepon , All rights reserved. Powered by CGI Script Market.