119 votes

Avertissement "Ne pas Accéder Superglobale $_POST Tableau Directement" sur Netbeans 7.4 pour PHP

J'ai eu ce message d'avertissement sur Netbeans 7.4 pour PHP alors que je suis en utilisant $_POST, $_GET, $_SERVER, ....

Ne pas Accéder à Superglobale $_POST Tableau Directement

Ça veut dire quoi? Que puis-je faire pour corriger cet avertissement?

Edit: Cas de l'échantillon de code, il montre encore cet avertissement.

98voto

Homerocker Points 342

filter_input(INPUT_POST, 'var_name') au lieu de $_POST['var_name']
filter_input_array(INPUT_POST) au lieu de $_POST

93voto

Bien qu'un peu tard, je suis venu à travers cette question lors de la recherche de la solution pour le même problème, donc j'espère que cela peut être d'une aide quelconque...

Me suis retrouvé dans la même obscurité que vous. Viens de trouver cet article, ce qui explique certains des conseils nouveaux introduits dans NetBeans 7.4, dont celui-ci:

https://blogs.oracle.com/netbeansphp/entry/improve_your_code_with_new

La raison pour laquelle il a été ajouté est parce que les superglobales sont généralement remplis avec la saisie de l'utilisateur, qui ne devrait pas être aveuglément confiance. Au lieu de cela, une sorte de filtrage doit être fait, et c'est ce que l'indicateur suggère. Filtre de la superglobale valeur dans le cas où il a certains empoisonné de contenu.

Par exemple, où j'ai eu:

$_SERVER['SERVER_NAME']

J'ai mis à la place:

filter_input(INPUT_SERVER, 'SERVER_NAME', FILTER_SANITIZE_STRING)

Vous avez la filter_input et les filtres de la doc ici:

http://www.php.net/manual/en/function.filter-input.php

http://www.php.net/manual/en/filter.filters.php

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X