variable global en PHP [EXPERT]
9 messages
• Page 1 sur 1
-

blman - WRInaute accro

- Messages: 3073
- Inscription: 5 Sep 2003
variable global en PHP [EXPERT]
Hello,
j'ai un doute donc je vous demande confirmation.
La définition de variable "global" au sein d'une fonction :
- ne pose aucun problème de sécurité ?
- fonctionnera chez tous les hébergeurs ?
Si vous pouviez me le confirmer, ça serait bien sympa parce qu'on est en train de développer une très grosse application ( http://www.webrankinfo.com/forums/viewtopic_45874.htm avec Moktoipas) et ce type de variable m'est très utile.
j'ai un doute donc je vous demande confirmation.
- Code: Tout sélectionner
<?php
$a = 1;
function test() {
global $a;
echo $a; /* portée globale */
}
test(); //écrit 1 puisque $a est défini en global dans la fonction test()
?>
La définition de variable "global" au sein d'une fonction :
- ne pose aucun problème de sécurité ?
- fonctionnera chez tous les hébergeurs ?
Si vous pouviez me le confirmer, ça serait bien sympa parce qu'on est en train de développer une très grosse application ( http://www.webrankinfo.com/forums/viewtopic_45874.htm avec Moktoipas) et ce type de variable m'est très utile.
-

Bacteries - WRInaute passionné

- Messages: 1369
- Inscription: 27 Mai 2004
Rien à voir : mais en gros tu programme un ERP?
Y'a des solutions open source déjà pour ça.
Pour tes variables je pense que ça marche chez n'importe qui; mais si tu es sur un dédié de toute façon tu peux tout configurer comme tu veux.
Niveau sécu c'est un peu comme toute variables de ton script, il vaut mieux empécher tout ce qui est injection de code. Après ça reste une variable comme une autre mais accessible en dehors de la portée habituele.
Y'a des solutions open source déjà pour ça.
Pour tes variables je pense que ça marche chez n'importe qui; mais si tu es sur un dédié de toute façon tu peux tout configurer comme tu veux.
Niveau sécu c'est un peu comme toute variables de ton script, il vaut mieux empécher tout ce qui est injection de code. Après ça reste une variable comme une autre mais accessible en dehors de la portée habituele.
-

blman - WRInaute accro

- Messages: 3073
- Inscription: 5 Sep 2003
D'accord, merci à vous 2 de m'otez ce doute.
Je serais hébergé en interne pour le moment mais on pourrait imaginer à l'avenir que cette application soit partagée entre plusieurs sociétés (un magasin, un stock ou un centre d'expédition internet, ...). Donc si ça fonctionne en standard chez tous les hébergeurs, ça me rassure.
Côté sécurité, merci aussi. Evidemment, mes variables qui sont utilisées en global dans mes fonctions, sont initialisées en début de script. Il n'y a donc pas moyen de faire de l'injection.
Merci encore !
Je serais hébergé en interne pour le moment mais on pourrait imaginer à l'avenir que cette application soit partagée entre plusieurs sociétés (un magasin, un stock ou un centre d'expédition internet, ...). Donc si ça fonctionne en standard chez tous les hébergeurs, ça me rassure.
Côté sécurité, merci aussi. Evidemment, mes variables qui sont utilisées en global dans mes fonctions, sont initialisées en début de script. Il n'y a donc pas moyen de faire de l'injection.
Merci encore !
- shrom
- WRInaute impliqué

- Messages: 865
- Inscription: 5 Juil 2004
La question n'est pas de savoir si les variables globales ont des problèmes de sécurité, la question est ai-je besoin d'utiliser des variables globales ?
Je connais très peu de cas ou il y a obligation de les utiliser.
1) on peut passer des arguments aux fonctions, c'est pas pour rien
2 ) il est très difficile de tracer les fonctions qui modifient les variables globales puisque celle-ci n'apparait pas dans la signature de la fonction
3) ca donne du code très peu lisible
Je connais très peu de cas ou il y a obligation de les utiliser.
1) on peut passer des arguments aux fonctions, c'est pas pour rien
2 ) il est très difficile de tracer les fonctions qui modifient les variables globales puisque celle-ci n'apparait pas dans la signature de la fonction
3) ca donne du code très peu lisible
-

e-kiwi - Modérateur

- Messages: 15544
- Inscription: 23 Déc 2003
si les variabls globales existent, c est bien pour les utiliser ^^ par exemple j'ai le prefixe de mes tables en varaible globale, je ne vais pas m amuser à la passer an argument de chaque fonction. par principe, mes variables globales ne sont jamais modifiées
- shrom
- WRInaute impliqué

- Messages: 865
- Inscription: 5 Juil 2004
par principe, mes variables globales ne sont jamais modifiées
LOL.
On appelle cela des constantes.
Maintenant, si tu veux faire un code illisible, très dur à maintenir et à déboguer, libre à toi.
PS: ce n'est pas parce que ça existe que c'est forcément bien. Cf tout un tas d'imbécilités qui ont été introduites dans PHP pour des raisons aussi obscures les unes que les autres et dont les dev ont du mal à se séparer ( enfin ils ont décidé de faire du ménage en PHP6 ).
9 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- php recuperer des variable de session (Global off)
- Probleme variable php '.xxxx.' dans autre variable '.zzzz.'
- [PHP] Include et global
- AJax, php et xml, probleme de variable php
- [Php -Facile] Fichiers en php et incrementation de variable
- destruction variable php
- Redirection variable php
- pb affectation variable en php
- PHP + Variable + Referencement
- PHP variable dans shell_exec
- Google Chrome dépasse Safari aux USA - 29-06-2010
- Configurer des nouveaux moteurs dans Google Analytics - 12-06-2007
- Un (RSS) pour tous (les blogs officiels de Google) - 02-12-2005
- Etude du BlockRank, un algorithme de calcul rapide du PageRank - 19-03-2003
- 13% des internautes choisissent l'option Google : pages from the UK - 09-04-2008
- Google Chrome progresse au détriment de Firefox - 04-05-2010
- Les centres de données de Google (data centers) - 06-09-2008
- Vidéos YouTube 4096 x 3072 pixels (4K) - 12-07-2010
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités


