KENT-WEB サポートコーナー 過去ログ [ 0028 ]


記事No: 2275
投稿日: 2007/12/01(Sat) 11:03:12
タイトルエラー400で悩んでいます
ID情報: serina
投稿者: keaton
URLhttp://www.coinc.jp/cgi-bin/honey.cgi

お忙しいところ済みません
honeyCGIを利用させていただいています

利用環境ですがFedoreCore7を使っています

最初RedHat9を使っていましたが5月にFedoreCore7にバージョンアップしました


7〜8月ぐらいから掲示板の書き込みが出来ないと言われ確認したところタイトルでは日本語で2文字、記事のエリアでも数文字以上書き込むとエラー400となり書き込みが出来なくなりました

cgiの部分は設置に必要な所だけ変更し特に改造等はしていません



サーバー側の問題ではないか?と思いApacheの入れ直しから始まり現在サーバーまで新しいのを購入しOSも新しく入れ直して確認しましたがやはり巧く行きません・・・・


何かヒントでも良いのですが教えていただけないでしょうか?

記載しているURLはサーバーから全て新しく用意し、cgiはそのままコピーした物ですので試しに書き込みされても問題ありません
(是非見てやってください)


ちなみに・・・・・

FedoreCore7導入当初、全てのcgiが動かなくなり色々調べた結果

#!/usr/bin/perl
の所に「--」を追加する方法を見つけ追加した所、稼働しました
(-- の意味って・・・?)

他、エラー400の報告を受けた時に確認したところ「**.cgi~」と言う物が同じディレクトリーに出来てしまいました・・・謎

色々書き込んで済みません

よろしくお願いします


記事No: 2276
投稿日: 2007/12/01(Sat) 20:43:27
タイトルRe: エラー400で悩んでいます
ID情報: teketen
投稿者: てけてん

CGIスクリプトが問題というよりも、やはりサーバーの環境や、設置のミスなどが考えられますね。

> FedoreCore7導入当初、全てのcgiが動かなくなり色々調べた結果
> #!/usr/bin/perl
> の所に「--」を追加する方法を見つけ追加した所、稼働しました

Perlパスの後に、余分な改行コードがあるため、動作しなかったのでしょう。
という事で、これは改行コードの問題じゃないかと思います。
KENTさんのスクリプトは改行コードがCR+LFなので、Unix系OSの場合、FTPツールでアップする際はアスキーモードで、そのままファイルを設置する場合は、スクリプトファイル(拡張子.cgi、.pl)の改行コードをLFにして下さい。

> (-- の意味って・・・?)

Unix系OSの場合、改行コードがLFなので、CR+LFの改行コードのCGIを動作させた場合、
#!/usr/bin/perl[CR][LF]
となり、改行文字LFの前に、不要なCRがあるのでエラーになってしまいます。
--を足すことにより、
#!/usr/bin/perl --[CR][LF]
となり、Perlによって不要なCRが無効なオプションとして無視される形になるのかも知れません。

という事で、取り合えずスクリプトやログファイルの改行コードを見直してください。
それでも駄目な場合は、後はサーバーの環境の問題のような気がしますので、サーバー関係の掲示板でお聞きした方が宜しいかと存じます。


記事No: 2296
投稿日: 2007/12/03(Mon) 10:58:10
タイトルRe^2: エラー400で悩んでいます
ID情報: serina
投稿者: keaton
URLhttp://www.coinc.jp/cgi-bin/honey.cgi

てけてんさん ありがとうございます

ftpに関しては考えてもいませんでした

他何かお気づきになりましたらご教授お願います


[検索ページ]