Faire fonctionner le code avec register_globals désactivé

J'ai hérité d'un code PHP hérité qui a été réécrit lorsqu'il était courant d'utiliser register_globals (Depuis PHP 4.2.0, cette directive est désactivée par défaut, publiée le 22 avril 2002).

Nous savons maintenant qu'il est mauvais pour la sécurité de l'activer. Le problème est de savoir comment trouver tous les endroits du code où je dois utiliser $_GET ou $_POST ? Ma seule pensée était de définir le rapport d'erreur pour avertir des variables non initialisées, puis de tester chaque partie du site. Existe-t-il un moyen plus simple ? Devrai-je tester chaque chemin de code dans le site ou PHP donnera-t-il un avertissement par fichier ?

请先 登录 后评论

1 réponses

Marie Fischer

Si vous définissez le rapport d'erreurs sur E_ALL, il avertit dans le journal des erreurs des variables indéfinies complètes avec le nom de fichier et le numéro de ligne (en supposant que vous vous connectez à un fichier). Cependant, il n'avertit que s'il rencontre une variable indéfinie, donc je pense que vous devrez tester chaque chemin de code. Exécuter php à partir de la ligne de commande ne semble pas aider non plus.

Il existe un outil de débogage nommé xdebug, je ne l'ai pas essayé, mais peut-être que cela peut être utile ?

请先 登录 后评论
  • 15 abonnés
  • 0 favoris,541 Feuilleter
  • ejunker posée à 2023-03-27 19:47