開発部だより 第206回
今回は、ColdFusionのpostParametersLimitについて、説明します。
少し前の話なのですが、ColdFusion9に、HotFix2をあてたら、
申込フォームで送信時に、エラーが表示されるようになってしまいました。
これは、CF9のHotFix2で、CF10の管理者画面で設定する
「POSTリクエストパラメータの最大数」がデフォルトで、
100として、認識されるようになったためでした。
これが、postParametersLimit というタグに対応しています。
→同じ現象が、CF10の利用者にも起きていると思います。
この「POSTリクエストパラメータの最大数」(postParametersLimit )は、
フォームの「入力項目」の数という訳ではなく、
カウントの方法がはっきりしていません。
海外のサイトでも、「200にしたらエラーが出なくなった」とか
「自分は 5000にしたぞ!」とか、いろいろな数値が載っていました。
もちろん、Adobeに、「なんで 100にしたんだ!?」と聞いている人も
いたのですが、回答は「100で十分だと思った。」というまっとうな回答しか
載っていませんでした。。。
cfserver.logで以下のエラーが表示されます。
coldfusion.filter.FormScope$PostParametersLimitExceededException:
POST parameters exceeds the maximum limit specified in the server.
修正方法は、CF9インストールフォルダの
「neo-runtime.xml」に以下のタグを追加します。
<var name='postParametersLimit'><number>100.0</number></var>
そして、100の数を増やします。
場所は、requestLimitの前に入れました。
CF9のHotFix適用、または、CF10にしたら、データの送信時に、
エラーが発生した場合は、疑ってみてください。
ではでは☆