- ベストアンサー
ApacheとCGIの設定について
- ApacheとCGIの設定について困っています。エラーログの文字コード化とHTMLフォームデータの受け取りに関する問題があります。
- Apacheのエラーログに日本語が文字コードとして表示される問題があります。
- Ruby 1.8系でCGIライブラリが変更されたことでHTMLからのフォームデータの受け取りができなくなりました。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>CAN-2003-0020の問題を修正したバージョンにしてみましたが駄目でした。 CAN-2003-0020の問題により、現状の仕様に変更されています。 元の仕様に戻したい場合、CAN-2003-0020の問題を修正する前のバージョンへ戻してください。 (もちろんCAN-2003-0020の脆弱性はそのままになりますが) #以下のURLでも多少説明されていますが、そこまできつい脆弱性でもないので、影響が少ないならしばらく無視してても良いかも。 #http://www.jp.redhat.com/support/errata/RHSA/RHSA-2003-244J.html >2.HTMLからのフォームデータが受け取れない。 以下のようなサイトを見つけましたが、rubyの仕様のようなので、httpdの設定で回避するのは難しいと思います。 http://www.nslabs.jp/rubycgi-18compat.rhtml #無理やりhttpdでやるなら、PERL5LIB見たいなやつでwrapを先に読むようにすれば何とかなるかも。 #(rubyでどうやるか知らんけど)
その他の回答 (1)
- zebedeer
- ベストアンサー率66% (80/121)
>1.apacheのエラーログに書き込まれる日本語が文字コードになってしまう。 CAN-2003-0020に関する問題から修正された仕様です。 (1.3系でも新しいのは修正されてます) >2.HTMLからのフォームデータが受け取れない。 apache2系もrubyも使ってないので知らないのですが、もう少し具体的な内容だと助言できるかも知れません。
補足
ご返答、ありがとうございます。 apacheのエラーログの件ですが、 CAN-2003-0020の問題を修正したバージョンにしてみましたが駄目でした。 何か他に試すことはありますでしょうか? フォームについてはもう少し詳しく調べたところ、 「enctype= multipart form-data」でフォームデータを送るとNGとなります。 (「enctype= multipart form-data」を除けばOKです。) また、「method=post」ではデータが受け取れないけど、「method=get」だとOKという箇所もあります。 CGIの動作確認をしているのですが全体的にフォームデータの受け渡しでNGが出ています。 どうぞ宜しくお願いします。
お礼
早速のご返答、ありがとうございます。 >CAN-2003-0020の問題により、現状の仕様に変更されています。 なるほど、勘違いしていました。 (CAN-2003-0020の問題を修正したバージョンにしたら直るのかと思ってました。) 仕様であればこのままにしたいと思います。 >rubyの仕様のようなので、httpdの設定で回避するのは難しいと思います。 CGIファイルに全く手をつけずに移行したかったのですが・・・残念です。 rubyのバージョンについては少し考えようと思います。 どうもありがとうございました。