diff --git a/app/admin/controller/Common.php b/app/admin/controller/Common.php index 7c656d1b1..6fe0ae829 100755 --- a/app/admin/controller/Common.php +++ b/app/admin/controller/Common.php @@ -241,6 +241,9 @@ class Common extends BaseController // 后台公告 $admin_notice = MyC('admin_notice'); MyViewAssign('admin_notice', empty($admin_notice) ? '' : str_replace("\n", '
', $admin_notice)); + + // 系统环境参数最大数 + MyViewAssign('env_max_input_vars_count', SystemService::EnvMaxInputVarsCount()); } /** diff --git a/app/admin/view/default/public/header.html b/app/admin/view/default/public/header.html index 372c028af..ac5c4c40a 100755 --- a/app/admin/view/default/public/header.html +++ b/app/admin/view/default/public/header.html @@ -66,6 +66,7 @@ var __attachment_host__ = '{{$attachment_host}}'; var __currency_symbol__ = '{{$currency_symbol}}'; var __is_mobile__ = '{{if IsMobile()}}1{{else}}0{{/if}}'; + var __env_max_input_vars_count__ = '{{$env_max_input_vars_count}}'; {{if $module_name.$controller_name.$action_name neq 'adminindexindex'}} diff --git a/app/index/controller/Common.php b/app/index/controller/Common.php index c03c2c865..ac881c27d 100755 --- a/app/index/controller/Common.php +++ b/app/index/controller/Common.php @@ -339,6 +339,9 @@ class Common extends BaseController // 纯净模式 MyViewAssign('page_pure', in_array($this->controller_name.$this->action_name, ['usermodallogininfo']) ? 1 : 0); + + // 系统环境参数最大数 + MyViewAssign('env_max_input_vars_count', SystemService::EnvMaxInputVarsCount()); } /** diff --git a/app/index/view/default/public/header.html b/app/index/view/default/public/header.html index cc181f74e..52c203ac3 100755 --- a/app/index/view/default/public/header.html +++ b/app/index/view/default/public/header.html @@ -74,6 +74,7 @@ var __user_id__ = {{if empty($user['id'])}}0{{else /}}{{$user.id}}{{/if}}; var __currency_symbol__ = '{{$currency_symbol}}'; var __is_mobile__ = '{{if IsMobile()}}1{{else}}0{{/if}}'; + var __env_max_input_vars_count__ = '{{$env_max_input_vars_count}}'; diff --git a/app/install/controller/Common.php b/app/install/controller/Common.php index f9bf5d3db..3e8c26dad 100755 --- a/app/install/controller/Common.php +++ b/app/install/controller/Common.php @@ -11,6 +11,7 @@ namespace app\install\controller; use app\BaseController; +use app\service\SystemService; /** * 安装程序-公共 @@ -34,6 +35,9 @@ class Common extends BaseController { // 当前方法 MyViewAssign('action', RequestAction()); + + // 系统环境参数最大数 + MyViewAssign('env_max_input_vars_count', SystemService::EnvMaxInputVarsCount()); } /** diff --git a/app/install/view/public/header.html b/app/install/view/public/header.html index 1b291a41f..2d43a1011 100755 --- a/app/install/view/public/header.html +++ b/app/install/view/public/header.html @@ -19,4 +19,7 @@ + \ No newline at end of file diff --git a/app/service/SystemService.php b/app/service/SystemService.php index eae42e4be..62387d092 100644 --- a/app/service/SystemService.php +++ b/app/service/SystemService.php @@ -153,5 +153,18 @@ class SystemService { return MyConfig($key).'_'.SYSTEM_TYPE.'_'.RequestModule(); } + + /** + * 获取环境参数最大数 + * @author Devil + * @blog http://gong.gg/ + * @version 1.0.0 + * @date 2022-04-24 + * @desc description + */ + public static function EnvMaxInputVarsCount() + { + return intval(ini_get('max_input_vars')); + } } ?> \ No newline at end of file diff --git a/public/static/common/js/common.js b/public/static/common/js/common.js index a5ea675d3..68cc24e44 100755 --- a/public/static/common/js/common.js +++ b/public/static/common/js/common.js @@ -498,6 +498,26 @@ function FromInit(form_name) return false; } + // 请求参数 + var form_data_count = 0; + var form_data = GetFormVal(form_name); + form_data.forEach(function(value, key) + { + form_data_count += 1; + }); + + // 请求参数是否超过系统环境参数 + if(typeof(__env_max_input_vars_count__) != 'undefined') + { + var env_vars_count = parseInt(__env_max_input_vars_count__); + if(env_vars_count > 0 && form_data_count > env_vars_count) + { + $button.button('reset'); + Prompt('请求参数数量已超出php.ini限制[max_input_vars]('+form_data_count+'>'+env_vars_count+')'); + return false; + } + } + // ajax请求 $.AMUI.progress.start(); $.ajax({ @@ -505,7 +525,7 @@ function FromInit(form_name) type: method, dataType: "json", timeout: $form.attr('timeout') || 60000, - data: GetFormVal(form_name), + data: form_data, processData: false, contentType: false, success: function(result)