View Full Version : KENT WEB(PasswordManager)のSSIログ解析用プログラムについて
piasu
2006/04/30, 08:19 PM
KENT WEBのスクリプトである、BASIC認証タイプ(PasswordManager)に関連した
質問をしたいと思います。
このスクリプトは認証後のSSIログ解析用プログラム(SSIの利用可能なプロバイダ向け)
が出来るようになっているのですが、
動作チェックをしてみたのですが、<!--#exec cgi="/フルパス/pwlog_test.cgi"-->
をsthmlに貼り付けた結果↓のような結果となります。
[an error occurred while processing this directive]
XREAの鯖では環境変数 $ENV{'REMOTE_USER'} にてユーザーIDが取得できないので
しょうか?(私のcgi設置に問題があるだけなら自力で何とかしますが。。)
ログを調べたのですが、見つけることが出来なかったのでわかる方がいましたら
返答をお願いします。
shimix
2006/04/30, 10:53 PM
#SSIですから、フルパス=サーバパスですよね?動作チェックをしてみたのですが、<!--#exec cgi="/フルパス/pwlog_test.cgi"-->
をsthmlに貼り付けた結果↓のような結果となります。
[an error occurred while processing this directive]フルパス指定→相対パスに書き換えてもダメですか?
piasu
2006/05/01, 03:33 PM
#SSIですから、フルパス=サーバパスですよね?フルパス指定→相対パスに書き換えてもダメですか?
相対パスに変えたところ、ID表示テスト →ID と表示されました。
スプリクトの説明書にはフルパス(サーバーパス)と書かれていたので
/virtual/piasu/public_html/一応伏せますわ/pwmgr/pwlog_test.cgi
としていたのでけどおかしいですねぇ・・
XREAの鯖では環境変数 $ENV{'REMOTE_USER'} にてユーザーIDが取得できるという
結論に達しましたので解決しました。
shimixさんありがとうございました。 :)
Alicer
2006/09/17, 05:58 PM
PasswordManagerのログ解析のテスト確認で悩んでいましたが、
こちらのスレッドを参考に
<!--#exec cgi="相対パス/pwlog_test.cgi"-->
の記述で動作確認することができました。
これを
<!--#exec cgi="相対パス/pwlog.cgi"-->
とすればOKかな〜と思っていましたが、
PasswordManager管理画面からログ確認することはできるものの、
タグを埋め込んだ部分に以下のようになにやら難しいことが表示されてしまいます。
Script Error
The script did not produce proper HTTP headers. Please see the error log to see the detail of the errors. Depending on the server configuration, you can also run thisscript under CGIWrap debugging. Usually, either rename or linkthe script temporarily to a file which ends with .cgidextension, or add a AddHandler cgi-script-debug .cgiline to your .htaccess file.
<!--#exec cgi="相対パス/pwlog.cgi"-->
という記述が単純に間違っているのでしょうか?
それともエラーメッセージの中にあるように書かれている難しいエラーが起こっている・・・と
いうことなのでしょうか?
ご教示よろしくお願いいたします(_ _)
shimix
2006/09/18, 03:21 AM
#まとめレスですみません・・
スプリクトの説明書にはフルパス(サーバーパス)と書かれていたので
/virtual/piasu/public_html/一応伏せますわ/pwmgr/pwlog_test.cgi
としていたのでけどおかしいですねぇ・・XREAに限らずSSIのexec cgiやexec cmd(これはXREAでは使えませんね)でフルパス(サーバパス)指定が出来ないレンタルサーバは多いです。セキュリティ上の問題で上位ディレクトリへのアクセスが効かないように設定されていたりします。その場合は相対パスで書けばOKです。
PasswordManager管理画面からログ確認することはできるものの、
タグを埋め込んだ部分に以下のようになにやら難しいことが表示されてしまいます。XREA+(広告免除購入)でしょうか?そうでなければ拡張子を「.cgi」→「.xcg」にするか、「x」ディレクトリに置かないとHTTPヘッダの関係で正しく動作しないと思います(CGIからの出力に広告を挿入しようとするため)。
Alicer
2006/09/18, 09:51 AM
#まとめレスですみません・・
XREAに限らずSSIのexec cgiやexec cmd(これはXREAでは使えませんね)でフルパス(サーバパス)指定が出来ないレンタルサーバは多いです。セキュリティ上の問題で上位ディレクトリへのアクセスが効かないように設定されていたりします。その場合は相対パスで書けばOKです。
XREA+(広告免除購入)でしょうか?そうでなければ拡張子を「.cgi」→「.xcg」にするか、「x」ディレクトリに置かないとHTTPヘッダの関係で正しく動作しないと思います(CGIからの出力に広告を挿入しようとするため)。
お返事ありがとうございます(_ _)
このCGIを使用しているサーバーはXreaプラスで独自ドメインです。
xフォルダでの設定もトライしてみましたが、例のエラーメッセージは出たままでした(TT)
shimix様が下さったアドバイスから想像すると
CGIの基本的な設定の問題点を指摘しているエラーメッセージのようですので、
もしかしたら私のサイト構成そのものに問題があるのかも知れない・・・というところなのでしょうか?
もう少し試行錯誤を繰り返してみることにします。
ありがとうございました。
shimix
2006/09/18, 12:58 PM
#ちょっと仮設置してテストしてみました(汗
pwlog.cgiの62行目の「__END__」を消すと問題なくimage/gifヘッダとgif画像のイメージが返るようです。たしかにこんなところで終了してはいけないと思うんですが・・何故配布状態がこうなっているのかは不明です。
Alicer
2006/09/19, 12:37 PM
#ちょっと仮設置してテストしてみました(汗
pwlog.cgiの62行目の「__END__」を消すと問題なくimage/gifヘッダとgif画像のイメージが返るようです。たしかにこんなところで終了してはいけないと思うんですが・・何故配布状態がこうなっているのかは不明です。
仮設置テストまでして下さったとのこと。本当にありがとうございます(_ _)(><)
ご教示通りにpwlog.cgiの62行目の「__END__」を消して、再アップしたところ
キレイにエラーメッセージが消えました!!ありがとうございました(_ _)(>▽<)
私もこの部分はなんじゃ???とはおぼろげに感じて、
この部分以下のダミーGIFの記述が作動していないような・・・とも思い、
ダミーGIFに関する記述部分も含めて消してみたりとヤミクモに試行錯誤はしていたのですが、
結局、解決策に到達できず(^^;;;)
ログは取れてるんだから、
エラーメッセージを背景色と同じ文字色指定して見切り発車しようかな~と
ほとんど諦めていたところでした。
ほんとうにありがとうございました(_ _)(^0^)
ちなみにお恥ずかしい話の上塗りですが・・・
実はエラーメッセージに入れ替わって表示される
ダミーGIF表示部分が文字化けしてしまっています。
これもさきほどからShift-JISからEUC、Unicode、UTF-8、UTF-8Nなどに
文字指定保存したpwlog.cgiを再アップして試行錯誤してみましたが、
中々修正に至ることができません。
表示ページのエンコードはShift-JISです。
またお時間のある時に、もしお気が向かれてご教示頂けたら嬉しい限りです。
どうぞよろしくお願いいたします。
shimix
2006/09/19, 01:04 PM
#配布状態から再展開して、62行目を消しただけのpwlog.cgiをアップロードしても同じでしょうか?
pwlog.cgiが返すのはgif画像なので、文字コードは無関係です。画像がおかしい・・ということはあっても文字化けはないハズです。
HTTPヘッダ(Content-type: image/gif)を出力するより前で何か出力していませんか?エラーチェック用のテキスト出力のためにHTTPヘッダ(Content-type: text/htmlもしくはtext/plain)を追加したままになっているとか・・。
#pwlog.cgiにアクセスしたときのHTTPヘッダを確認してみてください。
Alicer
2006/09/19, 04:09 PM
#配布状態から再展開して、62行目を消しただけのpwlog.cgiをアップロードしても同じでしょうか?
pwlog.cgiが返すのはgif画像なので、文字コードは無関係です。画像がおかしい・・ということはあっても文字化けはないハズです。
HTTPヘッダ(Content-type: image/gif)を出力するより前で何か出力していませんか?エラーチェック用のテキスト出力のためにHTTPヘッダ(Content-type: text/htmlもしくはtext/plain)を追加したままになっているとか・・。
#pwlog.cgiにアクセスしたときのHTTPヘッダを確認してみてください。
shimix様、早々のお返事ありがとうございます!!(_ _)(>▽<)
ご教示にしたがって『配布状態から再展開して、62行目を消しただけのpwlog.cgi』を再アップしてみましたが、同じでした(TT)
ダミーGIFなので文字コードは無関係かな〜・・・???とは思っていましたが、
やはりそうなんですね。
で、これも無駄なアガキかとは思いましたが、表示用ページのメタタグも削除してみたりしましたが同様でした(^^;)
仰る通りにpwlog.cgiにアクセスして、表示されるページではソース確認できませんので、
一旦、デスクトップに保存する形にしますと『gwlog_gif.file』としてフォルダとhtmlファイルが保存されました。
これを開いてソース確認すると
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<META content="MSHTML 6.00.2800.1555" name=GENERATOR></HEAD>
<BODY><IMG src="pwlog_gif.files/pwlog.gif"></BODY></HTML>
というように記述されています。
73行目の "Content-type: image/gif" の部分は何処へ行ってしまったのでしょう???(TT)
テキストエディタ(TeraPad)の使い方に問題があるのでしょうか?
お手数をお掛けしていますが、またお時間のある時にご教示お待ちしています。
よろしくお願いいたします。
shimix
2006/09/19, 04:57 PM
あ、すみません。大きな勘違いしてました。SSIで引っ張ってくるんですよね?だったらtextが返らないといけないです(というかtextが返ってくるという前提なのでgif画像が返ると、それを文字として扱う)。多分「__END__」で止めて「何も返さない」で普通はいいんでしょう(HTTPヘッダがないので単独では動作しませんが・・)。
ただ、前回のエラーを読む限りだとHTTPヘッダがないとエラーになってるようなので、gif画像の出力を全部カットして
print "Content-type: text/plain\n\n";
print " ";だけ書いてみたらどうなりますか?
最悪、それでダメだったら(SSIを使わずに)gif画像を返すように戻して<img src="pwlog.cgi">でもいけそうな気はしますが・・。
Alicer
2006/09/19, 05:13 PM
早々のお返事、ホントにありがとうございます〜!!
そしてご提案通りに__END__以下、ダミーGIFに関する記述をスッパリと削除し、
以下の記述を追加しましたところ、
print "Content-type: text/plain\n\n";
print " ";
無事に何も表示されなくなりました〜!!(>▽<)
呆れず見放さず(^^;)に何度もご丁重にアドバイス下さり、本当にありがとうございました。
お蔭様でこの連休を費やした虚無感もフッ飛びました(_ _)(^^)
shimix様に心から感謝致します。ありがとうございました♪
vBulletin® v3.6.8, Copyright ©2000-2008, Jelsoft Enterprises Ltd.