|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : novembre 2007 Messages : 43 ![]() |
Bonjour à tous,
J'utilise depuis quelques semaines un fichier que j'inclus dans mes scripts qui doivent récupérer des données depuis les tableaux super globaux. Ce bout de code me fait les htmlentities et initialise les variables en fonction du nom utilisé. Cela m'évite l'étape fastidieuse de la récupération des variables une à une. Je gagne vraiment du temps. Code :
- Bien sur, il faut faire gaffe de ne pas utiliser des noms de variables qui peuvent être créé par ce script. - Un attaquant pourrais surcharger les superglobal aussi (je ne sais pas si ce type d'attaque est courante) Donc ma question est : Est-ce que je continu à procéder comme ça ? Ou est-ce que je me plante devrai arrêter ? |
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Olivier Développeur Web Inscription : août 2003 Messages : 1 837 ![]() |
Ce que tu fait reviens à utiliser (à peut de chose près) register_global on qui est fortement déconseillé (voir même supprimé des dernière version de PHP).
Je prend un exemple simple , dans ton site tu as par exemple : Code :
C'est un cas un peu exagéré mais avec ce que tu fais n'importe qui peut intéragir avec ton script. Ce qu'il est en revanche possible de faire c'est par exemple appliqué un traitement sécurisant certaines données via array_walk. Note : htmlentites se fait à l'affichage pas avant traitement , ou insertion bdd |
||
|
00
|
|
|
#3 |
|
Membre éprouvé
![]() Guillaume Développeur Web Inscription : décembre 2007 Messages : 353 ![]() |
La seule chose qui me vient à l'esprit c'est:
Quelqu'un peut envoyer des données POST/GET que tu n'as pas dans tes scripts à la base et toi tu les traiteras automatiquement alors que tu ne les utiliseras pas. Autant faire une fonction qui nettoie directement ta variable. (une par une)
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi. - Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
|
|
00
|
|
|
#4 | ||
|
Nouveau Membre du Club
![]() Inscription : novembre 2007 Messages : 43 ![]() |
Citation:
Citation:
J'avais fais ça pour un formulaire dont je ne connaissait pas le nombre de champs (paramétrable par l'utilisateur). Je me suis cru très malin mais je me trompais Merci pour vos réponses. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com