Je l'affiche pour une clarification dans une situation spécifique, bien que la validation d'entrée d'utilisateur/validations soit un sujet cliché.
Une partie du code contiennent
$haystack=$_GET['user'];
entrée $ est jamais utilisé pour « echo » ou « print » ou dans une requête SQL ou une telle chose. La seule utilisation supplémentaire de l'entrée utilisateur ($ haystack) consiste à vérifier si la chaîne contient une aiguille $ prédéfinie. Mon souci est l'exécution d'un code malveillant, plutôt que la présence de celui-ci dans l'entrée de l'utilisateur. Donc la question est, si l'entrée de l'utilisateur est utilisée uniquement dans le contexte (pas d'utilisation en écho, print, SQL, etc.) mentionné ci-dessus, est-il toujours possible qu'un code malveillant dans l'entrée utilisateur soit exécuté.
Je voulais ajouter les mesures de sécurité qui sont simplement nécessaires pour le contexte plutôt que de trop en faire.
il n'y a pas de problème je pense, mais le plus gros problème si vous avez oublié quelle variable est aseptisée ou non. ou si un autre programmeur après que vous pensiez qu'il est aseptisé. Je sais que c'est une bonne façon de travailler (oublier sans vérifier, mais peut arriver), mieux faire une fonction de désinfection et vous pouvez facilement l'appliquer à n'importe quelle entrée. ou mettez vos variables aseptisées dans des noms de variables clairement étiquetés comme $ clean_xxx –
duplication possible de [L'utilisation de superglobales est-elle directement bonne ou mauvaise en PHP?] (http://stackoverflow.com/questions/3498207/is-using-superglobals-directly -good-or-bad-in-php) – vaxquis