web-dev-qa-db-fra.com

PHP Avertissement: inconnu: les variables d'entrée ont dépassé 1000

Je reçois un nouvel avertissement php quand une POST données d'un formulaire sur ma page vers mon serveur. L'avertissement est le suivant:

Avertissement PHP: inconnu: les variables d'entrée ont dépassé 1000. Pour augmenter le changement de limite max_input_vars dans php.ini. dans Inconnu sur la ligne 0, référent: https://mywebsite.com/index.php

Le fait est que mon formulaire n'a pas près de 1000 variables d'entrée, donc je suis perplexe quant à pourquoi cela apparaît. En passant, je n'ai eu ce problème que récemment et je soupçonne que lorsque j'ai exécuté yum update Quelque chose a changé/a été installé qui est à l'origine de ce problème. Tout conseil ou réponse est apprécié.

EDIT 1: J'ai donc fait var_dump($_REQUEST) et obtenu ~ 1000 chaînes de caractères uniques. Les deux premiers éléments du tableau sont ce qu'ils devraient être, mais un tas de choses que je n'ai pas besoin de soumettre sont décomposées en chaînes de caractères uniques. Les pensées sont les bienvenues.

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]=> .....     

[~ # ~] réponse [~ # ~] : Cela a fini par être un problème avec mon gestionnaire d'envoi. Merci à tous pour votre contribution.

20
Jon

C'est un nouveau paramètre/valeur dans PHP (lié à une mise à jour de sécurité pour empêcher les attaques contre PHP)), donc vous obtenez ceci après la mise à jour (avant = PHP 5.3.9 non défini/disponible, suhosin les utilisateurs ont une chose similaire depuis les âges).

Les valeurs d'entrée sont de différents types et les membres du tableau comptent également. Il ne suffit donc pas de compter les champs du formulaire mais aussi de jeter un œil à l'URL et aux autres endroits liés à la saisie ($_GET, $_POST, $_SERVER, $_ENV, $_FILES, $_COOKIE ...).

Voir max_input_vars :

Combien variables d'entrée peuvent être acceptées. L'utilisation de cette directive atténue la possibilité d'attaques par déni de service qui utilisent des collisions de hachage. S'il y a plus de variables d'entrée que celles spécifiées par cette directive, un E_WARNING est émis et les autres variables d'entrée sont tronquées à partir de la demande. Cette limite s'applique uniquement à chaque niveau d'imbrication d'un tableau d'entrée multidimensionnel.

42
hakre