10

Passenger / mod_railsでRailsアプリケーションを実行するときに、ファイルのアップロードサイズを制限するための良い解決策を知っている人はいますか。ファイルがサーバーに転送されないように、リクエストはすぐに拒否する必要があります。

私がこれまでに見つけた解決策はすべて、制限を実装するためにMongrelにパッチを適用する方法を説明していますが、このアプリケーションでは乗客を使用する必要があります。

4

3 に答える 3

21

または、パッセンジャーで nginx を使用している場合は、サーバー ブロックに追加します。

server {
  client_max_body_size 100M;
}

http://wiki.nginx.org/NginxHttpCoreModule#client_max_body_size

于 2010-02-04T15:24:56.540 に答える
10

LimitRequestBody ディレクティブを使用して、Apache 経由でアップロード サイズを制限できます。

<Directory "/var/www">
    LimitRequestBody 1024
</Directory>

http://httpd.apache.org/docs/1.3/mod/core.html#limitrequestbody

于 2010-02-04T14:12:45.857 に答える
7

次の JavaScript を使用して、選択したファイルが上限を超えていることをユーザーに通知できます。ただし、サーバー側の検証が不可欠です。

$('#id_of_input_file_field').change(function() {
  if(this.files[0].size > MAX_LIMIT_FOR_FILE){
    $('#id_of_input_file_field').val(''); 
    alert('File exceeds maximum size limit ')
}
});

MAX_LIMIT_FOR_FILE はバイト単位であるため、最大制限を 1Mb に設定する場合、MAX_LIMIT_FOR_FILE の値は 1048576 にする必要があります

于 2012-07-27T14:06:40.263 に答える