Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
John GALLET
Bonsoir,
Je reprends du code et je voudrais éliminer les cas d'utilisation de register_globals pour pouvoir mettre cette directive à 0.
Soit. Noter que ça ne rendra pas nécessairement le site plus sécurisé pour autant, bon vieux débat, donc quitte à se repalucher complètement le code, c'est peut-être le moment d'y penser. Par exemple s'intéresser à l'extension 'filter' enfin disponible dans la dernière release de PHP (même si on ne s'en sert pas directement ça donne des idées).
Malheureusement je ne vois pas de moyen de détecter les cas où des variables apparemment anodines sont en fait des variables POST / GET...
Pas évident à automatiser.
Avez-vous des pistes ?
D'abord vérifier s'il n'y a pas des "astuces" dans le code du genre appels à ini_set() ou extract() ou des tripatouillages pour importer automatiquement le contenu de _POST/_GET/_REQUEST/GLOBALS, sinon ça peut durer longtemps.
Se mettre sur une plateforme de développement avec une config proche de celle-ci:
- désactiver register_globals. - mettre un niveau de trace à E_NOTICE - activer la trace des erreurs dans un log (perdues dans la page html, on les voit pas toujours, et ça centralise les erreurs détectées par tout le monde).
Après il faut lire le code et tester.
On peut aussi passer un find . -type f -exec grep -l -i name {} ; afin d'afficher tous les formulaires, ou href pour les liens simples, bref se palucher tout ce qui peut d'une manière ou d'une autre transmettre des variables depuis le client (get, post, cookie, js, pigeon voyageur etc.)
Bonne migration... JG
Bonsoir,
Je reprends du code et je voudrais éliminer les cas d'utilisation de
register_globals pour pouvoir mettre cette directive à 0.
Soit. Noter que ça ne rendra pas nécessairement le site plus sécurisé pour
autant, bon vieux débat, donc quitte à se repalucher complètement le code,
c'est peut-être le moment d'y penser. Par exemple s'intéresser à
l'extension 'filter' enfin disponible dans la dernière release de PHP
(même si on ne s'en sert pas directement ça donne des idées).
Malheureusement je ne vois pas de moyen de détecter les cas où des
variables apparemment anodines sont en fait des variables POST / GET...
Pas évident à automatiser.
Avez-vous des pistes ?
D'abord vérifier s'il n'y a pas des "astuces" dans le code du genre appels
à ini_set() ou extract() ou des tripatouillages pour importer
automatiquement le contenu de _POST/_GET/_REQUEST/GLOBALS, sinon ça peut
durer longtemps.
Se mettre sur une plateforme de développement avec une config proche de
celle-ci:
- désactiver register_globals.
- mettre un niveau de trace à E_NOTICE
- activer la trace des erreurs dans un log (perdues dans la page html, on
les voit pas toujours, et ça centralise les erreurs détectées par tout
le monde).
Après il faut lire le code et tester.
On peut aussi passer un find . -type f -exec grep -l -i name {} ; afin
d'afficher tous les formulaires, ou href pour les liens simples, bref se
palucher tout ce qui peut d'une manière ou d'une autre transmettre des
variables depuis le client (get, post, cookie, js, pigeon voyageur etc.)
Je reprends du code et je voudrais éliminer les cas d'utilisation de register_globals pour pouvoir mettre cette directive à 0.
Soit. Noter que ça ne rendra pas nécessairement le site plus sécurisé pour autant, bon vieux débat, donc quitte à se repalucher complètement le code, c'est peut-être le moment d'y penser. Par exemple s'intéresser à l'extension 'filter' enfin disponible dans la dernière release de PHP (même si on ne s'en sert pas directement ça donne des idées).
Malheureusement je ne vois pas de moyen de détecter les cas où des variables apparemment anodines sont en fait des variables POST / GET...
Pas évident à automatiser.
Avez-vous des pistes ?
D'abord vérifier s'il n'y a pas des "astuces" dans le code du genre appels à ini_set() ou extract() ou des tripatouillages pour importer automatiquement le contenu de _POST/_GET/_REQUEST/GLOBALS, sinon ça peut durer longtemps.
Se mettre sur une plateforme de développement avec une config proche de celle-ci:
- désactiver register_globals. - mettre un niveau de trace à E_NOTICE - activer la trace des erreurs dans un log (perdues dans la page html, on les voit pas toujours, et ça centralise les erreurs détectées par tout le monde).
Après il faut lire le code et tester.
On peut aussi passer un find . -type f -exec grep -l -i name {} ; afin d'afficher tous les formulaires, ou href pour les liens simples, bref se palucher tout ce qui peut d'une manière ou d'une autre transmettre des variables depuis le client (get, post, cookie, js, pigeon voyageur etc.)