回答編集履歴
3
常体を敬体に変更した。
    
        answer	
    CHANGED
    
    | @@ -21,33 +21,35 @@ | |
| 21 21 | 
             
            この設定により対処できる可能性があります。
         | 
| 22 22 |  | 
| 23 23 | 
             
            ### max_input_varsが使用できるバージョンについて
         | 
| 24 | 
            -
            正式なリリースとしては、[ドキュメント](http://php.net/manual/ja/info.configuration.php)にもある通り、5.3.9以降で使用でき | 
| 24 | 
            +
            正式なリリースとしては、[ドキュメント](http://php.net/manual/ja/info.configuration.php)にもある通り、5.3.9以降で使用できますが、
         | 
| 25 | 
            -
            後述する通り、セキュリティ的な面で5.3.11以降、5.4.1以降の方が望ましい。
         | 
| 25 | 
            +
            後述する通り、セキュリティ的な面で5.3.11以降、5.4.1以降の方が望ましいと思います。
         | 
| 26 26 |  | 
| 27 27 | 
             
            正式なリリースとは別に、max_input_varsはセキュリティ的な問題([CVE-2011-4885](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4885))の対処のため、
         | 
| 28 | 
            -
            パッチが存在し、rpmなどでは、パッチを含むバージョンがリリースされてい | 
| 28 | 
            +
            パッチが存在し、rpmなどでは、パッチを含むバージョンがリリースされています。
         | 
| 29 29 | 
             
            なお、使用する際は、このパッチによって入り込んだ[CVE-2012-0830](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-0830)も対処されたバージョンが
         | 
| 30 | 
            -
            望ましいと考えられ | 
| 30 | 
            +
            望ましいと考えられます。
         | 
| 31 | 
            -
            ちなみに、正式なリリースでCVE-2012-0830が修正されたのは、[このコミット](https://github.com/php/php-src/commit/40d8cd1f122873af7e21dfe4cad24702c4be48f9#diff-28ccb3aa37e01a68f5510ad6de4ab738)によると考えられ | 
| 31 | 
            +
            ちなみに、正式なリリースでCVE-2012-0830が修正されたのは、[このコミット](https://github.com/php/php-src/commit/40d8cd1f122873af7e21dfe4cad24702c4be48f9#diff-28ccb3aa37e01a68f5510ad6de4ab738)によると考えられますが、
         | 
| 32 | 
            -
            これはphp-5.3.11、php-5.4.1でリリースされてい | 
| 32 | 
            +
            これはphp-5.3.11、php-5.4.1でリリースされています。
         | 
| 33 33 |  | 
| 34 | 
            -
            php-5.3.3の[rpm](https://rpmfind.net/linux/RPM/centos/updates/6.7/x86_64/Packages/php-5.3.3-46.el6_6.x86_64.html)について調べると、CVE-2011-4885は5.3.3-4、CVE-2012-0830は | 
| 34 | 
            +
            php-5.3.3の[rpm](https://rpmfind.net/linux/RPM/centos/updates/6.7/x86_64/Packages/php-5.3.3-46.el6_6.x86_64.html)について調べると、CVE-2011-4885は5.3.3-4、CVE-2012-0830は
         | 
| 35 | 
            +
            5.3.3-7で対応しています。
         | 
| 35 36 |  | 
| 36 37 | 
             
            ### max_input_varsの判定方法の変化について
         | 
| 37 | 
            -
            max_input_varsの判定方法は、バージョンによって異な | 
| 38 | 
            +
            max_input_varsの判定方法は、バージョンによって異なります。
         | 
| 38 39 |  | 
| 39 40 | 
             
            1. ハッシュの要素数による不完全な方法(php-5.4.0、php-5.3.10以前)
         | 
| 40 41 | 
             
            ```
         | 
| 41 42 | 
             
                zend_hash_num_elementsを使っており、PostデータにArrayがある場合に、
         | 
| 42 43 | 
             
                Arrayのサイズがmax_input_vars+1になった際にエラーメッセージを出し、
         | 
| 43 | 
            -
                max_input_vars+2以上になると無視す | 
| 44 | 
            +
                max_input_vars+2以上になると無視します。
         | 
| 44 45 | 
             
                例)
         | 
| 45 | 
            -
                data[100][100][100]のデータは、1000000件にな | 
| 46 | 
            +
                data[100][100][100]のデータは、1000000件になりますが、max_input_varsが1000の場合、
         | 
| 46 | 
            -
                それぞれのサイズは100なので、制限にかからず、全てのデータを読み込んでしま | 
| 47 | 
            +
                それぞれのサイズは100なので、制限にかからず、全てのデータを読み込んでしまいます。
         | 
| 47 48 | 
             
            ```
         | 
| 48 49 | 
             
            2. 正確な方法(php-5.6以降 、php-5.5以降、php-5.4.1以降、php-5.3.11以降)
         | 
| 49 | 
            -
            [Improved max_input_vars directive to check nested variables](https://github.com/php/php-src/commit/282d3f20349b78eeed0173a2e55d311324faeb4d)というコミットによって修正された。
         | 
| 50 | 
            +
            [Improved max_input_vars directive to check nested variables](https://github.com/php/php-src/commit/282d3f20349b78eeed0173a2e55d311324faeb4d)というコミットによって修正されました。
         | 
| 50 51 | 
             
            ```
         | 
| 51 | 
            -
                実際にパースしながら、データの数を数え、データの数がmax_input_varsを超えると、 | 
| 52 | 
            +
                実際にパースしながら、データの数を数え、データの数がmax_input_varsを超えると、
         | 
| 53 | 
            +
                エラーメッセージを出して無視します。
         | 
| 52 54 | 
             
            ```
         | 
| 53 55 |  | 
2
max_input_varsについて追記した。
    
        answer	
    CHANGED
    
    | @@ -18,4 +18,36 @@ | |
| 18 18 |  | 
| 19 19 | 
             
            設定の説明は、[ここ](http://suhosin.org/stories/configuration.html)にあります。
         | 
| 20 20 | 
             
            Suhosinモジュールが適用されているのであれば、
         | 
| 21 | 
            -
            この設定により対処できる可能性があります。
         | 
| 21 | 
            +
            この設定により対処できる可能性があります。
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            ### max_input_varsが使用できるバージョンについて
         | 
| 24 | 
            +
            正式なリリースとしては、[ドキュメント](http://php.net/manual/ja/info.configuration.php)にもある通り、5.3.9以降で使用できるが、
         | 
| 25 | 
            +
            後述する通り、セキュリティ的な面で5.3.11以降、5.4.1以降の方が望ましい。
         | 
| 26 | 
            +
             | 
| 27 | 
            +
            正式なリリースとは別に、max_input_varsはセキュリティ的な問題([CVE-2011-4885](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4885))の対処のため、
         | 
| 28 | 
            +
            パッチが存在し、rpmなどでは、パッチを含むバージョンがリリースされている。
         | 
| 29 | 
            +
            なお、使用する際は、このパッチによって入り込んだ[CVE-2012-0830](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-0830)も対処されたバージョンが
         | 
| 30 | 
            +
            望ましいと考えられる。
         | 
| 31 | 
            +
            ちなみに、正式なリリースでCVE-2012-0830が修正されたのは、[このコミット](https://github.com/php/php-src/commit/40d8cd1f122873af7e21dfe4cad24702c4be48f9#diff-28ccb3aa37e01a68f5510ad6de4ab738)によると考えられるが、
         | 
| 32 | 
            +
            これはphp-5.3.11、php-5.4.1でリリースされている。
         | 
| 33 | 
            +
             | 
| 34 | 
            +
            php-5.3.3の[rpm](https://rpmfind.net/linux/RPM/centos/updates/6.7/x86_64/Packages/php-5.3.3-46.el6_6.x86_64.html)について調べると、CVE-2011-4885は5.3.3-4、CVE-2012-0830は5.3.3-7で対応している。
         | 
| 35 | 
            +
             | 
| 36 | 
            +
            ### max_input_varsの判定方法の変化について
         | 
| 37 | 
            +
            max_input_varsの判定方法は、バージョンによって異なる。
         | 
| 38 | 
            +
             | 
| 39 | 
            +
            1. ハッシュの要素数による不完全な方法(php-5.4.0、php-5.3.10以前)
         | 
| 40 | 
            +
            ```
         | 
| 41 | 
            +
                zend_hash_num_elementsを使っており、PostデータにArrayがある場合に、
         | 
| 42 | 
            +
                Arrayのサイズがmax_input_vars+1になった際にエラーメッセージを出し、
         | 
| 43 | 
            +
                max_input_vars+2以上になると無視する。
         | 
| 44 | 
            +
                例)
         | 
| 45 | 
            +
                data[100][100][100]のデータは、1000000件になるが、max_input_varsが1000の場合、
         | 
| 46 | 
            +
                それぞれのサイズは100なので、制限にかからず、全てのデータを読み込んでしまう。
         | 
| 47 | 
            +
            ```
         | 
| 48 | 
            +
            2. 正確な方法(php-5.6以降 、php-5.5以降、php-5.4.1以降、php-5.3.11以降)
         | 
| 49 | 
            +
            [Improved max_input_vars directive to check nested variables](https://github.com/php/php-src/commit/282d3f20349b78eeed0173a2e55d311324faeb4d)というコミットによって修正された。
         | 
| 50 | 
            +
            ```
         | 
| 51 | 
            +
                実際にパースしながら、データの数を数え、データの数がmax_input_varsを超えると、エラーメッセージを出して無視する。
         | 
| 52 | 
            +
            ```
         | 
| 53 | 
            +
             | 
1
設定値の書き方を修正した。
    
        answer	
    CHANGED
    
    | @@ -8,11 +8,14 @@ | |
| 8 8 |  | 
| 9 9 | 
             
            で言及がありますが、PHP 5.3.3-7+squeeze17には、max_input_varsがあるようです。
         | 
| 10 10 | 
             
            また、[Suhosinモジュール](http://itpro.nikkeibp.co.jp/article/COLUMN/20070214/261900/)には、
         | 
| 11 | 
            +
            suhosin.request.max_vars、suhosin.post.max_varsという設定があるようです。
         | 
| 12 | 
            +
            90000を指定するのであれば、
         | 
| 11 13 | 
             
            ```
         | 
| 12 | 
            -
            suhosin.request.max_vars =  | 
| 14 | 
            +
            suhosin.request.max_vars = 90000
         | 
| 13 | 
            -
            suhosin.post.max_vars =  | 
| 15 | 
            +
            suhosin.post.max_vars = 90000
         | 
| 14 16 | 
             
            ```
         | 
| 15 | 
            -
             | 
| 17 | 
            +
            のようにすれば良いようです。
         | 
| 18 | 
            +
             | 
| 16 19 | 
             
            設定の説明は、[ここ](http://suhosin.org/stories/configuration.html)にあります。
         | 
| 17 20 | 
             
            Suhosinモジュールが適用されているのであれば、
         | 
| 18 21 | 
             
            この設定により対処できる可能性があります。
         | 
