2016-07-06 4 views
3

フォームに8000個のチェックボックスがあります。どのように悪いのコメントはありませんください。要求エンティティが大きすぎるApache

マイの.htaccess

php_value post_max_size 20M 
php_value max_input_vars 10000 
php_value suhosin.get.max_vars 10000 
php_value suhosin.post.max_vars 10000 
php_value suhosin.request.max_vars 10000 

私がフォームを送信するとき、私はRequest Entity Too Largeエラーを取得しています。

私は3000のチェックボックスを持っていて、うまくいきました。いくつかの設定がありませんか、またはApache以外のサービスを再起動する必要がありますか?別に

私は右のログファイルに見た後、結果がpostsize == 165655

+1

入力変数のサイズを20000などに増やしてみましたか?おそらく10000の制限が8000のチェックボックスや他のフォーム要素を上回っているのかもしれません。 –

+0

ちょうどそれに行っても、同じエラーを与えた。しかし、チェックボックスがあまりにも多いと、最初にmax_inputsを増やさなければならないときにエラーが出ることはありませんでした。エラーなしでチェックボックスを切り捨てました。 – Phil

+0

https://devdocs.io/apache_http_server/mod/core#limitrequestbody – hjpotter92

答えて

1

ある

postsize = $("form").not("[type='file']").serialize().length; 

を使用して私のポストのサイズを確認OPのコメントを参照してください、私はModSecurityのは、POSTリクエストを拒否された発見グーグルがこの解決策を見つけるのを助けました。

あなたがの露出/重症度を向上させる...私は、任意の多数を使用していますが、あなたが快適に感じるものは何でも番号を使用することができますetc/apache2/sites-available/[your_site.conf]

<IfModule mod_security2.c> 
    SecRequestBodyNoFilesLimit 5242880 
</IfModule> 

すなわち、サイト構成に次を追加することによって、サイズの手当を増やしますDOSの攻撃に対応しています。

関連する問題