記事No | : 523 |
投稿日 | : 2007/05/11(Fri) 16:18:16 |
タイトル | : postmail v4.12 |
ID情報 | : nobubu |
投稿者 | : nobu |
URL | : http://www.denkaisui.com/tyumon3/postmail.cgi |
はじめまして。nobuと申します。
CGI初心者ですので、足らない点が多々あると思いますが、宜しくお願い致します。
現在、ラピッドサイトのレギュラーサービス(マスタープラン)を使用しています。この度新しく、postmail v4.12を使用して申込みフォームを作成したいと思い、ダウンロードしたのですが、どうしてもInternalServerエラーがでて動作してくれません。
サポートコーナーやQ&Aを何度も読ませて頂き、パーミッション、転送はしっかりやってあると思います。
ラピットサイトのレギュラープランはcgi-localなど特定のディレクトリに入れなくてもいいということですので、/tyumon3/というディレクトリにダウンロードしたファイルを格納しています。
スクリプトはhttp://www.denkaisui.com/tyumon3/postmail.cgiです。
※スクリプトがみれないとおもいますので、変更点を含め下記にアップしました。
http://www.denkaisui.com/postmail4.12cgi.txt
ラピットサイトにあるスクリプトチェッカーにかけてみたところ
の出力 "perl -c -w /tyumon3/postmail.cgi":In string, @5 now must be written
as \@5 at /u/web/denkai//tyumon3/postmail.cgi line 226, near "$BIT@5"
In string, @w now must be written as \@w at
/u/web/denkai//tyumon3/postmail.cgi line 226, near "$B1x@w"
Unrecognized character \x1B at /u/web/denkai//tyumon3/postmail.cgi line 228.
と表示されました。
意味がよくわからないのですが、記載されているCGIライン226と228には
226 if ($postonly && !$postflag) { &error("不正なアクセスです"); }
228 # 汚染チェック
とかかれています。
もう自分ではどうしていいのか全く分からなくなってしまってます。
御迷惑をお掛けいたしますが、アドバイス頂けます様、宜しくお願い致します。
記事No | : 524 |
投稿日 | : 2007/05/12(Sat) 19:16:33 |
タイトル | : Re: postmail v4.12 |
ID情報 | : kent |
投稿者 | : KENT |
> ラピットサイトにあるスクリプトチェッカーにかけてみたところ
> の出力 "perl -c -w /tyumon3/postmail.cgi":In string, @5 now must be written
> as \@5 at /u/web/denkai//tyumon3/postmail.cgi line 226, near "$BIT@5"
> In string, @w now must be written as \@w at
> /u/web/denkai//tyumon3/postmail.cgi line 226, near "$B1x@w"
> Unrecognized character \x1B at /u/web/denkai//tyumon3/postmail.cgi line 228.
> と表示されました。
文法エラーを起こしているようですね。
アップしたテキストのソースは問題ないようですが、本番のCGIスクリプトを転送するときに、何か間違いはありませんか?
ちなみに、試しに別のCGIスクリプトを設置してみてください。他は正常に動作しますか?
記事No | : 546 |
投稿日 | : 2007/05/14(Mon) 15:21:16 |
タイトル | : Re^2: postmail v4.12 |
ID情報 | : nobubu |
投稿者 | : nobu |
> 文法エラーを起こしているようですね。
> アップしたテキストのソースは問題ないようですが、本番のCGIスクリプトを転送するときに、何か間違いはありませんか?
> ちなみに、試しに別のCGIスクリプトを設置してみてください。他は正常に動作しますか?
お返事ありがとう御座います。
転送する際、アスキーモードで転送しておりますしパーミッションも指示どおりに設定しました。
試しにWeb EnqueteVer: 4.2を設置してみたのですが、こちらもInternal Server Errorが出て動作しません。以前、ダウンロードしたpostmail v3.41は正常に動作しています。また、ラピッドサイトからダウンロードできるPostMail v2.31も正常に動作します。
Web EnqueteVer: 4.2のスクリプト
http://www.denkaisui.com/enq/enq.cgi
http://www.denkaisui.com/WEB%20ENQUETE%20v4.2.txt
postmail v3.41のスクリプト
http://www.denkaisui.com/tyumon/postmail.cgi
http://www.denkaisui.com/postmail%20v3.41.txt
PostMail v2.31のスクリプト
http://www.denkaisui.com/torimus2/postmail.cgi
http://www.denkaisui.com/PostMail%20v2.31.txt
まる投げをしてしまい申し訳御座いません。
CGIにたいして全く知識がない為、おかしい個所や以前のバージョンと今回の違いがわかりません。(うまくいかない違い)
大変、御迷惑をおかけいたしますがアドバイス頂けます様宜しくお願い致します。
記事No | : 560 |
投稿日 | : 2007/05/15(Tue) 16:49:46 |
タイトル | : Re^3: postmail v4.12 |
ID情報 | : teketen |
投稿者 | : てけてん |
> Unrecognized character \x1B
このエラーは、「認識されない文字\x1Bがある」というものです。
サーバー上のpostmail.cgiが、JISの文字コードになっている可能性があります。
http://www.denkaisui.com/postmail4.12cgi.txt
こちらをダウンロードして、テキストエディタでJISコードに変換して保存し、開きなおして表示だけShift_jisに戻して見たところ、エラーの該当箇所は
if ($postonly && !$postflag) { &error("■$BIT@5$J%"%/%;%9$G$9■(B"); }
# ■$B1x@w%A%'%C%/■(B
if ($in{'subject'} =~ /\r|\n/) { &error("■$B%a!<%k7oL>$,IT@5$G$9■(B"); }
のようになっていました。(一部の文字が掲示板に投稿すると問題がありそうでしたので、ここでは■にしています)
エラー内容に出てくる、「$BIT@5」や「$B1x@w」などがあります。
FTPソフトで転送する時に、JISに変換して転送するようにしませんでしたか?
(指定しなくても、CGIスクリプトをJISで転送するように設定されている可能性もあります)
postmail.cgiは、Shift_jisで保存し、文字コードは無変換にして転送してみて下さい。
記事No | : 566 |
投稿日 | : 2007/05/16(Wed) 14:36:27 |
タイトル | : Re^4: postmail v4.12 |
ID情報 | : nobubu |
投稿者 | : nobu |
URL | : http://www.denkaisui.com/tyumon3/postmail.cgi |
ありがとう御座います。
教えて頂いた通りShift_jisで保存したところ動作しました。
転送モードは見てみたところ無変換のままでしたので、文字コードの保存に問題があったようです。
1週間ひとりで悩んでどうしようもなかったところでしたので、本当に助かりました。
KENTさん、てけてんさん本当にありがとう御座いました。