max input vars что это

Max input vars что это

Настройки PHP/Параметры конфигурации информации

Имя По умолчанию Место изменения Список изменений
assert.active «1» PHP_INI_ALL
assert.bail «0» PHP_INI_ALL
assert.warning «1» PHP_INI_ALL
assert.callback NULL PHP_INI_ALL
assert.quiet_eval «0» PHP_INI_ALL
assert.exception «0» PHP_INI_ALL Доступна с версии PHP 7.0.0.
enable_dl «1» PHP_INI_SYSTEM Эта возможность устарела и будет обязательно удалена в будущем.
max_execution_time «30» PHP_INI_ALL
max_input_time «-1» PHP_INI_PERDIR
max_input_nesting_level «64» PHP_INI_PERDIR Доступна с PHP 5.2.3.
max_input_vars 1000 PHP_INI_PERDIR Доступна с PHP 5.3.9.
magic_quotes_gpc «1» PHP_INI_PERDIR Удалена в PHP 5.4.0.
magic_quotes_runtime «0» PHP_INI_ALL Удалена в PHP 5.4.0.
zend.enable_gc «1» PHP_INI_ALL Доступна с PHP 5.3.0.

Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

Краткое разъяснение конфигурационных директив.

Завершение работы скрипта при провале проверки утверждений.

Вызов предупреждений PHP для каждой проваленной проверки утверждения.

Пользовательская функция, вызываемая при провале проверки утверждений.

Используйте эту настройку функции error_reporting() во время выполнения проверки утверждений. При включении настройки сообщения об ошибках во время проверки утверждений показываться не будут (неявный вызов error_reporting(0)). Если настройка выключена, ошибки будут выдаваться в соответствии с настройками error_reporting()

Генерирует исключение AssertionError для неудачной проверки утверждения.

Главной причиной, по которой требуется выключение динамической загрузки, является безопасность. С помощью динамической загрузки можно обойти все open_basedir ограничения. По умолчанию динамическая загрузка разрешена.

Данная возможность была объявлена УСТАРЕВШЕЙ, начиная с PHP 5.3.0 и была УДАЛЕНА в PHP 5.4.0.

Задаёт режим magic_quotes для GPC (Get/Post/Cookie) операций. Если magic_quotes включён, все ‘ (одинарные кавычки), » (двойные кавычки), \ (обратный слеш) и NUL автоматически экранируются обратным слешем.

Данная возможность была объявлена УСТАРЕВШЕЙ, начиная с PHP 5.3.0 и была УДАЛЕНА в PHP 5.4.0.

Включает или отключает сборщик циклических ссылок.

Источник

Как увеличить максимальный лимит входных переменных PHP? (3 метода)

Что такое входные переменные PHP?

Прежде чем мы поговорим о методах увеличения количества входных переменных PHP в WordPress, давайте объясним, что именно такое входные переменные PHP?

Входные переменные PHP – это количество переменных, которые ваш сервер может использовать для запуска функции. Это значение установлено на 3000 для обновленных и современных тем WordPress.

Как вы, вероятно, уже знаете, если значения входных переменных PHP недостаточно, вы получите ошибку Max Input Vars.

Эта ошибка может вызвать множество проблем. Например, вы можете потерять все свои данные или используемый вами шаблон может потерять свою функциональность. Кроме того, могут исчезнуть активированные виджеты на вашем сайте.

Есть много разных способов увеличить максимальное количество входных переменных PHP в WordPress. Однако это полностью зависит от используемого вами хостинг-провайдера.

В этой статье мы обсудим все возможности cPanel. Если вы используете другую панель хостинга, интерфейс может быть другим. Однако методы все те же.

Имейте в виду, что у вас может не быть определенных разрешений для увеличения ограничения PHP max input vars. Поэтому заранее свяжитесь с вашим хостинг-провайдером и попросите предоставить вам необходимые разрешения.

Как увеличить максимальное количество входных переменных PHP?

Обычно этот файл находится в корневом каталоге вашего хоста. Если вы не можете найти его, это может быть связано с тем, что большинство хостинг-провайдеров скрывают файлы (.). Поэтому найдите в своей конфигурации параметр «Показать скрытые файлы» и включите его.

или если вы используете Suhosin, добавьте в файл следующее:

Рекомендуемое значение 3000 для входных переменных PHP. Если вам нужно больше; вы всегда можете увеличить его в соответствии со своими потребностями.

Отредактируйте файл PHP.ini

Следующий способ увеличить максимальное количество входных переменных PHP в WordPress – это отредактировать файл php.ini. Этот файл также находится в корневом каталоге вашего хоста, на котором вы установили WordPress. Если вы не можете его найти, просто создайте файл php.ini.

В любом случае откройте файл в редакторе и добавьте к нему следующий код:

Не забудьте сохранить изменения и один раз перезагрузить сервер, чтобы использовать только что добавленные данные.

Отредактируйте файл wp-config.php

Этот метод также требует, чтобы вы вошли в свою панель хостинга или FTP. Перейдите в диспетчер файлов и найдите файл wp-config.php. Откройте файл в редакторе и добавьте в него следующий код:

Наконец, сохраните изменения.

Вы можете заменить 3000 на любое необходимое значение. Однако мы рекомендуем 3000 или выше, если вы используете любое значение ниже 3000, это может вызвать ошибку Max Input Vars.

Как увеличить максимальный предел входных переменных в PHP5?

Если вы используете хост, который по-прежнему использует PHP5, например GoDaddy или Bluehost, вам необходимо отредактировать файлы php5.ini и user.ini.

Итак, если вы используете хост, который все еще использует PHP5, вам необходимо создать на нем файлы, упомянутые выше. После их создания скопируйте и вставьте в оба следующий код:

Опять же, вы можете заменить 3000 значением, которое требуется вашему сайту.

Возможные проблемы на стороне сервера

Если вы попробовали каждый из вышеперечисленных методов и по-прежнему получаете ошибку max input vars, вам необходимо связаться с провайдером хостинга и попросить их исправить проблему за вас.

На хосте может быть копия файла php.ini, и это может сбить с толку ваш хост. Таким образом, найдите файл и удалите его.

В этой статье мы обсудили все возможные методы увеличения максимального количества входных переменных PHP в WordPress. Имейте в виду, что выполните описанные выше действия, если только вы знакомы с работой с файлами сервера. В противном случае обратитесь к своему хостинг-провайдеру и попросите его помочь вам.

Источник

Настройка параметров PHP

По умолчанию на новых серверах PHP работает в режиме mod_php, но при желании вы можете подключить режим mod_cgi, воспользовавшись нашей инструкцией.

apc.cache_by_default

Управление APC осуществляется директивами:

default_charset

Директива указывает кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц.

display_errors

Директива указывает, требуется ли выводить ошибки на экран вместе с остальным выводом, либо ошибки должны быть скрыты от пользователя.

Включение и выключение осуществляются следующим образом:

log_errors

Опция позволяет включить логирование ошибок php с их записью в произвольный файл (в примере errors.log). При указании пути к файлу замените u и user на первую букву вашего логина и сам логин.

magic_quotes_gpc

Включение и выключение magic_quotes осуществляется директивами:

mail.add_x_header

Опция позволяет включить логирование отправки почты из скриптов сайта. Логи будут содержать полный путь до скрипта, адрес получателя и заголовки. При указании пути к файлу, в который будут записываться логи (mail.log), замените u и user на первую букву вашего логина и сам логин.

max_input_vars

Директива указывает, сколько входных переменных может быть принято в одном запросе. Например:

mbstring.func_overload и mbstring.internal_encoding

Для корректной работы сайтов на старых версиях CMS Битрикс (до v20.100.0) требуются следующие параметры:

opcache.revalidate_freq

Отключение OpCache (настройка требуется для CMS Битрикс):

pcre.recursion_limit

Устанавливает лимит на рекурсию.

post_max_size

register_globals

Директивы для включения/выключения глобальных переменных:

request_order

Директива регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST.

upload_max_filesize

Устанавливает максимальный размер закачиваемого файла.

Настройка опций в файле php.ini

allow_url_fopen

Опция включает поддержку оберток URL (URL wrappers), которые позволяют работать с объектами URL по протоколам ftp или http как с обычными файлами.

Включение опции (для отключения значение = 0):

apc.cache_by_default

Отключение APC (для включения значение = 1):

default_charset

Указание кодировки по умолчанию:

display_errors

Включение вывода ошибок (для выключения значение = off).

magic_quotes_gpc

Отключение Magic Quotes (для включения значение = 1):

mail.add_x_header

Включение логирования отправки почты из скриптов сайта. В директиве mail.log указывается путь к файлу, в который будут сохраняться логи (замените u и user на первую букву вашего логина и сам логин).

max_input_vars

Изменение количества вводимых переменных:

mbstring.func_overload и mbstring.internal_encoding

Настройки для старых версий CMS Битрикс:

opcache.revalidate_freq

Отключение OpCache (настройка для CMS Битрикс):

pcre.recursion_limit

post_max_size

register_globals

Отключение Register Globals (для включения значение = 1):

request_order

Регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST.

upload_max_filesize

Устанавливает максимальный размер закачиваемого файла.

Опции, которые не могут быть изменены

К настройкам PHP, изменение которых невозможно в рамках виртуального хостинга, относятся:

Источник

Выполнение кода в PHP 5.3.9

Одним из новшеств релиза PHP 5.3.9 стало введение нового параметра конфигурации max_input_vars, который устанавливает максимальное возможное количество входящих параметров в запросе. Новая директива является мерой против атак Hash Collision DoS, которые могут привести к отказу в обслуживании при отправке большого количества входящих параметров. Однако в коде, отвечающим за ограничение количества параметров в запросе, была допущена ошибка, которая приводит к удаленному выполнению кода. Уязвимость была обнаружена специалистом в области информационной безопасности Стефаном Эссером, известным за публикацию ряда серьезных уязвимостей в PHP, а также за разработку джейлбрейка для Apple iOS.

Уязвимость возникает в случае, когда количество входящих параметров превышает значение max_input_vars (по умолчанию 1000).

Уязвимая функция php_register_variable_ex (php_variables.c@194):

Ограничение количества параметров реализовано циклом с условием if, причем отсутствует блок else, который должен был бы останавливать проход цикла. В следствие этого, на выходе из цикла в макрос Z_ARRVAL_PP (строка 18), который возвращает ссылку на обновленную hash-таблицу, попадет gpc_element_p со значением последней обработанной в цикле переменной, что ведет к выполнению кода.

Уязвимости не подвержены сервера с установленным расширением Suhosin patch, автором которого является Стефан Эссер. Примечательно, что накануне linux-дистрибутив Debian отказался от Suhosin patch, тем самым подвергая своих пользователей новой угрозе. А самое интересное это то, что уязвимость найдена в фиксе другой уязвимости.

Источник

Ограничения max_input_vars или почему не сохраняются настройки

Max_input_vars — это количество входных переменных, которые могут быть приняты в одном запросе (ограничение накладывается на каждую из глобальных переменных $_GET, $_POST и $_COOKIE отдельно).

Использование этой директивы снижает вероятность сбоев в случае атак с использованием хеш-коллизий. Если входных переменных больше, чем задано директивой, выбрасывается предупреждение E_WARNING, и все последующие переменные в запросе игнорируются. Это ограничение применяется к каждому уровню вложенности входного многомерного массива.

В силу своих особенностей настройки, Zoo (и JBZoo) использует очень большие формы для работы с настройками сайта. К таким формам относятся редактирование полей материала, настройки позиций в шаблоне и импорт.

Если материалы используют большое количество элементов, есть вероятность, что сработают серверные ограничения — в нашем случае это max_input_vars. Они могут выглядеть как вылет на главную страницу панели управления. Либо форма просто не будет сохранять изменения.

Несколько способов уменьшить ограничения

Вам необходимо повысить значение предельного порога. Давайте рассмотрим на примере как это можно сделать. Для этого вам понадобиться либо обращаться к своему хост-провайдеру, либо сделать это самостоятельно.

Способ #1

Узнать, где расположен ваш файл php.ini, значения которого подтягиваются в конфигурацию. Зайдите в Систему > Информация о системе > Информация о PHP > строка Loaded Configuration File, например, со значением /usr/local/lib/php.ini.

Перейдите на сервер и откройте этот файл для редактирования.

Найдите параметр max_input_vars. А если его там нет, то добавьте значение max_input_vars = 5000.

Проверьте: Система > Информация о системе > Информация о PHP > max_input_vars должно измениться на указанный вами.

На скриншоте значения из вкладки Информация о PHP

Способ #2 (для тех у кого нет управления сервером)

Нужно сделать следующее:

Зайдите в корень Joomla через файловый менеджер или FTP.

Добавьте строчку php_value max_input_vars 5000.

Сохраните и проверьте Система > Информация о системе > Информация о PHP > max_input_vars должно измениться.

Значения, которые можно указывать в ограничениях

Значения параметра max_input_vars напрямую зависят от масштабов вашей работы. Допустим, если значение по умолчанию в 1000 вас не устроило, то представьте планируемый объем работ и пропорционально увеличьте значение. Рекомендуем поставить 3000, но если вдруг в работе возникнут снова «вылеты» на главный экран Joomla — значит его нужно поднять выше, например, до 5000.

Как показывает практика, бывают случаи, когда на web-сервере установлен нестандартный(!) PHP-модуль — suhosin.

Источник

Читайте также:  Что значит торговая кредиторская задолженность
Сказочный портал