Подтвердить что ты не робот

Предупреждение PHP: неизвестно: входные переменные превысили 1000

Я получаю новое предупреждение php, когда данные POST из формы на моей странице на мой сервер. Предупреждение следующее:

PHP Предупреждение: Неизвестно: входные переменные превысили 1000. Чтобы увеличить изменение предела max_input_vars в php.ini. в Unknown в строке 0, референт: https://mywebsite.com/index.php

Дело в том, что моя форма не имеет около 1000 входных переменных, поэтому я не понимаю, почему это происходит. В качестве побочного примечания, у меня до сих пор не было этой проблемы, и я подозреваю, что когда я запустил yum update что-то изменилось/было установлено, что вызывает это. Любые советы или ответы приветствуются.

ИЗМЕНИТЬ 1: Таким образом, я сделал var_dump($_REQUEST) и получил ~ 1000 одиночных символов. Первые пара элементов в массиве - это то, чем они должны быть, но тогда куча вещей, которые мне не нужны, разбивается на строки с одним символом. Мысли приветствуются.

array(1001) { 
    ["action"]=> string(10) "step1_show" 
    ["submit"]=> string(6) "Step 1" 
    [0]=> string(1) "a" 
    [1]=> string(1) "c" 
    [2]=> string(1) "t" 
    [3]=> string(1) "i" 
    [4]=> string(1) "o" 
    [5]=> string(1) "n" 
    [6]=> string(1) "=" 
    [7]=> string(1) "l" 
    [8]=> string(1) "o" 
    [9]=> string(1) "g" 
    [10]=> string(1) "o" 
    [11]=> string(1) "u" 
    [12]=> string(1) "t" 
    [13]=> string(1) "&" 
    [14]=> string(1) "p" 
    [15]=> string(1) "r" 
    [16]=> string(1) "o" 
    [17]=> string(1) "p" 
    [18]=> string(1) "e" 
    [19]=> string(1) "r" 
    [20]=> string(1) "t" 
    [21]=> string(1) "y" 
    [22]=> string(1) "=" 
    [23]=> string(1) "3" 
    [24]=> string(1) "7" 
    [25]=> .....     

ANSWER. Это оказалось проблемой с моим обработчиком отправки. Спасибо всем за ваш вклад.

4b9b3361

Ответ 1

Это новый параметр/значение в PHP (связанное с обновлением безопасности для предотвращения атак на PHP-скрипты), поэтому вы получите это после обновления (до того, как PHP 5.3.9 не будет установлен/доступен, suhosin пользователи имеют схожие вещи с возрастом).

Входные значения имеют разные типы, и члены массива также учитываются. Таким образом, этого недостаточно для подсчета полей полей, а также для просмотра URL-адреса и других мест, связанных с вводом ($_GET, $_POST, $_SERVER, $_ENV, $_FILES, $_COOKIE...).

См. max_input_vars:

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

Ответ 2

Я исправил проблему max_input_vars через панель администрирования веб-хоста (Littleoak) Я изменил max_input_vars = 0 на max_input_vars = 6000. На моем сервере установлено несколько установок php, настроенных компанией сервера. Я считаю, что max_input_vars = 0 заключается в предотвращении использования спам-серверами электронной почты сервером для отправки спама. Файл php.ini живет где-то, не знаю, где, но я смог изменить его с помощью cPanel на моем сайте admin.

Ответ 3

У меня была такая же проблема при использовании .ajaxSubmit()

При сериализации формы используйте .serializeObject() вместо .serialize()

Вы можете захватить библиотеку из здесь