2

ファイルをアップロードしようとしていますが、使用されているサーバー側の言語は Perl です。CGI モジュールのバージョンは 3.15 です

何らかの奇妙な理由で、32KB 未満のファイルをアップロードできますが、そのファイルサイズを超えると、次のエラーを受け取りました。

CGI.pm: Server closed socket during multipart read (client aborted?).

CGIに以下のパラメータを設定してみました

use CGI ':standard';

$CGI::POST_MAX=-1;

$CGI::DISABLE_UPLOADS=0; # Allow file upload

それでもエラーが発生します。

この問題は CGI の新しいバージョンでは修正されていると聞きましたが、CGI モジュールをアップグレードできません。代替手段はありますか?

どんなアイデアでも大歓迎です!!!

4

3 に答える 3

-1

あなたの問題の鍵はここにあるようです:

CGI.pm: Server closed socket during multipart read (client aborted?).

エラー メッセージは、サーバーが接続を閉じていることを示しているようです。Apache、nginx などを使用している場合は、構成設定を確認して、ポスト リクエストのボディの最大サイズを増やしてください。

于 2012-07-17T23:51:28.703 に答える
-2

たとえ長くても、CGI.pmのドキュメント全体を読んでください。どこかに、ファイルアップロードのセキュリティ最大値を設定するサブがあります。これは、サーバーのDDOS耐性を高めることを目的としています。好みの値を設定するだけです。これにより、問題の32kBの部分が解決されます...

(この野蛮な推測が何も解決しなかったことをお詫びします。この回答を削除したと考えてください。)

于 2012-07-17T18:25:01.467 に答える