アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは今度初めてホームページを作っている者です
そのなかでスケジュール表をcgiで動かそうと思いフリーの物を探して設置したのですがどうもうまく動きません
具体的には

1.閲覧はできる
2.管理者用の設定画面も問題はない
3.新規投稿をするとエラーがでる

以上です

http://www.ace-cgi.jp/cgi/sch/004/index.html
↑cgi入手先

おわかりの方いらっしゃいましたら解決策を教えてください
よろしくお願いします

A 回答 (7件)

まず、どのようなエラーが出るのでしょうか?



勝手な想像ですが、多分datファイルの作成ができないではないでしょうか?
確認の為、2002_11.dat (11月に書込むの場合)というファイルが存在してるか確認してください。
もし、なければ空の 2002_11.dat という名前のファイルを作成して、そこにアップロードしてみてください。
それで、その 2002_11.dat を適切なパーミッションに設定してから、書き込みできるか確認してみてください。

※いかなる場合においても責任は負えませんので、全ては自己責任でお願いします。

この回答への補足

エラーメッセージは
以下のエラーが発生しています。
Your script produced this error: Insecure dependency in open while running setgid at ./sch004.cgi line 509.
でした

それと2002_11.datをアップしましたがまだだめなようです
パーミッションは777にしてみました

補足日時:2002/11/13 18:47
    • good
    • 0
この回答へのお礼

GX71さん 状況説明が不十分なのに回答して頂いてありがとうございました

お礼日時:2002/11/13 19:08

 CGIをチェックするCGIが参考ページで入手


出来ますので、お試しを!エラーが出ても、書き込み
出来るなら、私なら、気にしませんけど???

参考URL:http://appoh.execweb.cx/
    • good
    • 0

line 509 は、.dat の処理のようなのでやはりdat関係かと思うのですが・・・。


多分、datファイルのパーミッションは777では動かない場合が多いかと思います。
それなので、700等にして再度実行してみてください。

あと、間違いなく 2002_11.dat となっていますか?
2002_11.dat.txtなどとなっていませんか?
アップロードした場所も、sch004.cgiと同じ場所ですか?

Tripodについてよく知らないので少し調べてみましたら、
Tripodはパーミッション設定不要という事を見かけました。
777にできたという事は変更もできるのでしょうか・・・?

これでも出来なければ、すみませんが私にはちょっと分かりません。(^^;

※いかなる場合においても責任は負えませんので、全ては自己責任でお願いします。

この回答への補足

指示通りできているか確認してから再度実行しましたが
うまくいかないようです
拾ってきたサイトではサンプルとして動作していたので
バグでは無いと思うんですが…

補足日時:2002/11/13 19:55
    • good
    • 0

 私は、Tripodに使っていないHPスペースを持っているので、早速調べてみました。


 結果、sch004.cgiの中で、下のところでエラーが発生していて、何らかの理由で、ファイルが開けないみたいです。

・・・省略・・・

#--------------------------------#
# 指定日のファイルにデータを追加 #
#--------------------------------#

・・・省略・・・

    #---- 追加 ----#
    if($FORM{'comment'}){
        if(!open(OUT,">>$filename")){   <===ココ
            &error("file open error!");
        }
        print OUT "$FORM{'day'}<>$FORM{'comment'}\n";
        close(OUT);
    }
    • good
    • 0
この回答へのお礼

無事問題解決できました
ありがとうございました

お礼日時:2002/11/13 20:51

if(!open(OUT,">>$filename")){


 &error("file open error!");
}

の部分を
open(OUT,">>$filename") or &error("file open error!");

にしてみてはどうでしょう。
# 単に言い回しを変えてみただけです
# 改変は個人責任で行って下さいね :-)
# 改変前のスクリプトのバックアップも忘れずに

原因は不明なのですが、自分も if(!open~ だと何故かエラーになったケースがありました。
しかし、改造については許可されているのでしょうかね?

この回答への補足

上記の3行をすべて書き換えということですよね?
やはり
Your script produced this error: Insecure dependency in open while running setgid at ./sch004.cgi line 509
となってしまいます

改造については各自行って良いそうです

補足日時:2002/11/13 20:25
    • good
    • 0
この回答へのお礼

無事問題解決できました
ありがとうございました

お礼日時:2002/11/13 20:50

TripodのCGIはTaint モードというので動作しているようで、


なにか危険な部分があるとエラーで動かないようです・・・。

so_blueさんが同様の事があったようなので、
実際に経験された方の回答のほうが参考になりますね。

お役に立てずにすみませんでした。(^^;
それでは失礼します。m(_ _)m
    • good
    • 0
この回答へのお礼

いえいえ
貴重な時間を割いてくださってありがとうございました

お礼日時:2002/11/13 20:30

ちょっと興味を持って調べてみただけなので、間違っているかもしれません。




Taint(汚染検出)モードで実行されているために、$filenameが「汚染」されているとみなされているような気がします。
それで$filenameでファイルを開こうとして、エラーがでているのではないかと。

http://www.ipa.go.jp/security/awareness/vendor/p …
ここの受け売りですが、512行の
$filename = "$FORM{'year'}_$FORM{'month'}\.dat";
の下に、
if ($filename =~ /^([-\@\w.]+)$/) {
$filename = $1;
} else {
die "Bad data in name.";
}
を追加してみてください。

参考URL:http://www.ipa.go.jp/security/awareness/vendor/p …
    • good
    • 0
この回答へのお礼

できました!
汚染検出で引っかかっていたようです
本当にありがとうございました

お礼日時:2002/11/13 20:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!