【PHP, JavaScript】POSTデータが多すぎてエラーになったときにとった対応

画面からユーザーの入力値をPOSTするプログラムで500エラーが発生し、エラーログを確認すると以下のメッセージを吐いていました。 *413 FastCGI sent in stderr: "PHP message: PHP Warning: Unknown: Input variables exceeded nnn. このエラーはユーザーの入力値が多すぎて、submitしたときサーバー側で弾かれているエラーで、しきい値は php.ini の以下で設定できます。 php.ini ; How many GET/POST/COOKIE input variables may be accepted max_input_vars = 100 しかし本来セキュリティの観点から、この値は抑えられている(デフォルトは1000)ケースがあります。その場合は、フロント側で吸収する必要があるためその方法をまとめます。※あくまで一つの例なので他に良い方法があるかもしれません。 今回発生したケースでは、ユーザーや店舗などの設定値を縦に並べて一括で更新するという処理で、100は余裕で超えてしまうため対応を行いました。 POSTデータを入力するView(修正前) (※だいぶ簡単にしたもの) <form method="post" action="/users/index"> <input …

続きを読む

【js】ブラウザの言語設定により表示する文字を切り替える

Javascriptを利用してブラウザで設定されている言語を取得し、言語によって表示を切り替える方法をまとめます。 Javascriptでブラウザの言語設定を取得する方法は、使用するブラウザによって異なります。 これは以下の記事を参考にしました。 https://easyramble.com/get-language-setting-by-javascript.html 方法としてはonloadでこれを取得して、あらかじめ2パターン用意した記述の片方を非表示にします。 language_test.html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Laungage Test</title> <style type="text/css"> <!-- #body { margin-left: 1em; margin-right: 1em; } --> </style> <script> window.onload = functi…

続きを読む

もっと見る

スポンサーリンク