PHP registers globals, question de priorités

PHP registers globals, question de priorités - PHP - Programmation

Marsh Posté le 20-09-2005 à 12:56:07    

Sur un serveur PHP avec register globals activé.
 
Si j'ia uen variable $_COOKIE['popo'] et une variable $_GET['popo'], si je tappe $popo laquelle sera retournée ? ou alors est ce imprévisible selon le type de serveur ?
 
Ceux qui me diront de tester moi même c'est gentil j'y avai deja pensé mais je voulai savoir si il y avai une règle générale :)


Message édité par Profil supprimé le 20-09-2005 à 13:20:55
Reply

Marsh Posté le 20-09-2005 à 12:56:07   

Reply

Marsh Posté le 20-09-2005 à 13:13:03    

$_COOKIE, parce-que tu as oublié le _ de $_GET.[:pingouino]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 20-09-2005 à 13:21:09    

skeye a écrit :

$_COOKIE, parce-que tu as oublié le _ de $_GET.[:pingouino]


mais non je vois pas de quoi tu parle :o

Reply

Marsh Posté le 20-09-2005 à 13:24:57    

ben ecoute : tu assigne la variable popo avec soit $_COOKIE['popo'] ou le $_GET...
 
c'est bidon de vouloir recourir tout de suite aux $popo etc etc..
car pas mal de serveurs on le register_globals à off
 
et ca depends des configs, moi le $popo vaut rien dans mon cas, faut que je l'assigne

Reply

Marsh Posté le 20-09-2005 à 13:33:06    

gatsusat a écrit :

ben ecoute : tu assigne la variable popo avec soit $_COOKIE['popo'] ou le $_GET...
 
c'est bidon de vouloir recourir tout de suite aux $popo etc etc..
car pas mal de serveurs on le register_globals à off
 
et ca depends des configs, moi le $popo vaut rien dans mon cas, faut que je l'assigne


je sais deja ca ;) mais c'est pour le cas d'un truc très lourd deja programmé avec register globals a off, où il y a un cookie qu'on appellera popo, et j'essaie de savoir si on peut le feinter avec une variable dans l'url

Reply

Marsh Posté le 20-09-2005 à 13:34:18    


 
Tu appelles explicitement $_COOKIE['popo'], et c'est tout...[:skeye]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 20-09-2005 à 13:36:47    

si registerglobal est activé, alors le resultat depend de ta config apache  
 
mais honnetement, les codes comme ca , ca fait gagner du tps au developpement, mais quand des mois apres il faut retourcher , c'est l'horreur

Reply

Marsh Posté le 20-09-2005 à 14:14:09    

skeye a écrit :

Tu appelles explicitement $_COOKIE['popo'], et c'est tout...[:skeye]


si tu voyais la lourdeur du code deja existant tu comprendrai pourquoi je veut éviter de faire ca.
 
Putaing c lourd les gens qui répondent a coté en croyant s'addresser a des ignorants alors qu'ils connaissent pas du tout le contexte de la question...

Reply

Marsh Posté le 20-09-2005 à 14:14:53    

flo850 a écrit :

si registerglobal est activé, alors le resultat depend de ta config apache  
 
mais honnetement, les codes comme ca , ca fait gagner du tps au developpement, mais quand des mois apres il faut retourcher , c'est l'horreur


:jap: merci pr ta réponse c'est ce que je voulai savoir (enfin qqun qui répond a la question, ca fait plaisir,  après deux donneurs de lecons a coté de la plaque :lol:)
 
Au fait je suis tt a fait d'accord sur le fait que c'est pas bien de coder comme ca, mais c'est pas ma faut esi on me fait reprendre ce projet hein... ;)

Message cité 1 fois
Message édité par Profil supprimé le 20-09-2005 à 14:15:47
Reply

Marsh Posté le 20-09-2005 à 14:19:03    


 
Les donneurs de leçons à coté de la plaque t'emmerdent...[:itm]
 
1) Tu aurais très bien pu faire le test toi même comme un grand.
2) On te donne une façon de faire qui résoudrait ton problème et serait nettement plus sûre et plus maintenable.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 20-09-2005 à 14:19:03   

Reply

Marsh Posté le 20-09-2005 à 14:20:49    

skeye a écrit :

Les donneurs de leçons à coté de la plaque t'emmerdent...[:itm]
 
1) Tu aurais très bien pu faire le test toi même comme un grand.
2) On te donne une façon de faire qui résoudrait ton problème et serait nettement plus sûre et plus maintenable.


arrête de prendre les gens pour des cons STP
 
- j'ai dit dans le premier post que mon but était de savoir si il existait une règle générale pour ca, et que c pr ca que jue voulai pas me fier a mon test qui dépend de la config de mon serveur
- je répète encore que c'est pour maintenir un projet dont il est strictement impossible de modifier tout ca a la main, il serai presque plus rapide de repartir à zero...
 
t'es gentil ca fait assez lgtps que je fait du php pr savoir programmer sans les register golbals...

Message cité 1 fois
Message édité par Profil supprimé le 20-09-2005 à 14:26:54
Reply

Marsh Posté le 20-09-2005 à 14:26:09    


 
Objectivement, pour traiter les gens qui essaient de t'apporter les bonnes solutions comme ça, il faut l'être.
 
 
 
Et nous on t'a dit que se reposer là-dessus n'était pas viable.
 
 
 
[:violon]
Tu fais un mauvais choix par flemme d'un travail rébarbatif mais mieux adapté à ton prblème, c'est tout.
 
 


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 20-09-2005 à 14:33:33    

skeye a écrit :

Objectivement, pour traiter les gens qui essaient de t'apporter les bonnes solutions comme ça, il faut l'être.
Et nous on t'a dit que se reposer là-dessus n'était pas viable.
[:violon]
Tu fais un mauvais choix par flemme d'un travail rébarbatif mais mieux adapté à ton prblème, c'est tout.


tu n'a aucune idée de mon travail sur ce projet alors pourquoi tu ouvre ta gueule ?? si j'étai en mesure de modifier le truc pr qu'il passe sans register globals je le ferai. Seulement j'ai pas la main sur le code je suis juste là pr estimer les risques de sécurité.
 
Tu répond pas a la question que je pose tu donne des grandes lecons en me prenant pour un débutant, et tu continue a me reprocher de pas vouloir écouter tes conseils alors que je me tue a te dire que je connais deja ces conseils et que je ne PEUT pas faire évoluer ce code comme ca.
 
Si les forumeurs prenaient la peine de lire les topics et de répondre aux questions posées au lieu de déballer leur science (sans que ca réponde a la question) et prendre de haut ceux qui posent les questions ca serai un grand progrès de fait.

Message cité 1 fois
Message édité par Profil supprimé le 20-09-2005 à 14:35:38
Reply

Marsh Posté le 20-09-2005 à 14:37:20    

si tu veux protéger $popo tu n'as qu'à forcer l'affectation :
au choix :
$popo=$_COOKIE['popo'];
ou
$popo=$_GET['popo'];

Reply

Marsh Posté le 20-09-2005 à 14:38:45    

jlighty a écrit :

si tu veux protéger $popo tu n'as qu'à forcer l'affectation :
au choix :
$popo=$_COOKIE['popo'];
ou
$popo=$_GET['popo'];


oui merci je sais je sais :lol: mais comme je pète et répète je peut pas faire ca car le code est super lourd avec pleins de variables en jeu et de toute manière dans l'état actuel des choses j'ia pas la main sur le code. :)

Message cité 1 fois
Message édité par Profil supprimé le 20-09-2005 à 14:38:54
Reply

Marsh Posté le 20-09-2005 à 14:49:58    

flo850 a écrit :

si registerglobal est activé, alors le resultat depend de ta config apache


Pas d'apache, mais de php par le biés du php.ini.
 
Personellement, je vois pas en quoi savoir si le cookie passera avant ou aprés les variables de l'URL change quoi que ce soit pour la sécurité, le trou de sécurité est là dans les deux cas et en fonction du code qu'est derriére, c'est potentiellement un goufre de sécurité.
Enfin bon, si c'est un goufre de sécurité, c'est que même sans utiliser les $popo, il y aurait des trous de sécurité dans leur systéme.

Reply

Marsh Posté le 20-09-2005 à 14:51:38    

omega2 a écrit :

Pas d'apache, mais de php par le biés du php.ini.
 
Personellement, je vois pas en quoi savoir si le cookie passera avant ou aprés les variables de l'URL change quoi que ce soit pour la sécurité, le trou de sécurité est là dans les deux cas et en fonction du code qu'est derriére, c'est potentiellement un goufre de sécurité.
Enfin bon, si c'est un goufre de sécurité, c'est que même sans utiliser les $popo, il y aurait des trous de sécurité dans leur systéme.


si le cookie passe avant ca évite le risque qu'on feinte en remplacant par l'url mais c'est sur que ca élimine pas les risques pour d'autres variables, ca élimine juste ce risque précis, celui sur lequel je m'inquiète :)
 
merci je savai pas que ct dans le php.ini je vais essayer de trouver ou c'est :)

Message cité 1 fois
Message édité par Profil supprimé le 20-09-2005 à 14:52:10
Reply

Marsh Posté le 20-09-2005 à 14:51:42    


 
Parce-que tu poses une question, j'y réponds du mieux que je peux avec les éléments que tu donnes.
 
 
 
Et si t'avais plutôt commencé à dire ça dans ton premier post, tu penses pas que ç'aurait été plus simple pour te répondre plus justement? [:kiki]
 
 
 
Ya 2 posts tu voulais éviter de le faire, tu n'étais pas dans l'incapacité de le faire, nuance.[:itm]
Ce qui change tout de la manière de répondre.
Quelqu'un qui refuse de faire le mieux et choisit une pratique qui peut s'avérer préjudiciable par facilité, je le méprise. Quelqu'un qui n'a VRAIMENT pas le choix, je me contente de le mettre en garde...
 
 
 
Si les gens qui posent des questions sur les forums donnaient d'entrée toutes les cartes aux personnes qui tentent de leur répondre c'en serait un encore plus grand.[:marc]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 20-09-2005 à 14:53:13    

Plustôt que de dire "je peux pas par ce que ca demande trop de boulot", dit le simplement que t'es là que pour désigner les risques de sécurité et que t'as pas le droit de modifier le code.
 
Ca t'éviterait des critiques surtout que là, tu donnes l'impression que ta principale raison de pas le faire, c'est la quantité de boulot nécessaire à ce changement.

Reply

Marsh Posté le 20-09-2005 à 14:55:42    

Même, par ce que dans ce cas, on suprime le cookie, on met se qu'on veut dans l'adresse ou à l'aide d'un formulaire si on a envie, et votre systéme est baisé même si le cookie passe en premier.
Je t'aurais bien indiqué ça, mais je le change jamais. De toute maniére, je suis toujours en register_global à off donc je m'en susi jamais préoccupé de ce réglage. :lol:

Reply

Marsh Posté le 20-09-2005 à 14:59:20    

skeye a écrit :

Parce-que tu poses une question, j'y réponds du mieux que je peux avec les éléments que tu donnes.
 
Non tu a pas répondu a la question, la question était claire c'était est ce que par défaut la variable globale prend la valeur du cookie ou du get, toi tu a répondu qu'il fallai expliciter, désolé ca répond pas a la question
 
Et si t'avais plutôt commencé à dire ça dans ton premier post, tu penses pas que ç'aurait été plus simple pour te répondre plus justement? [:kiki]
 
Bah la question était claire je demandai pas des idées pour résoudre un problème, je posai une question précise avec deux réponses possibles, bref pas besoin d''en dire plus, si chaque premier post devait ressembler a un cahier des charges ca serai un peu lourdeau
 
 
Ya 2 posts tu voulais éviter de le faire, tu n'étais pas dans l'incapacité de le faire, nuance.[:itm]
Ce qui change tout de la manière de répondre.
Quelqu'un qui refuse de faire le mieux et choisit une pratique qui peut s'avérer préjudiciable par facilité, je le méprise. Quelqu'un qui n'a VRAIMENT pas le choix, je me contente de le mettre en garde...
 
Que ce soit clair, je suis partisant du register global = off et je développe toujours en explicitant les $_BLABLA, seulement là je gère un projet développé par un prestataire, le projet est énorme, j'essaie d'estimer les risques, je peut pas changer le code moi même, et le prestataire étant déjà surchargé de travail je peut pas lui demander de le faire du moins pas tout de suite, voila c'est clair comme ca ???
 
 
Si les gens qui posent des questions sur les forums donnaient d'entrée toutes les cartes aux personnes qui tentent de leur répondre c'en serait un encore plus grand.
:Une fois de plus ma question était claire, c'était une question a choix multiple, pas une question ouverte où j'aurai demandé "comment faire blablabla"[:marc]


 
Voila bon j'espere que c'est clair, j'aimerai qu'on arrête le fight STP car ca sert a rien et j'ai rien contre toi, j'ai juste été irrité de me faire prendre de haut et qu'on réponde a coté de ma question, je pense que tu peut le comprendre :)

Reply

Marsh Posté le 20-09-2005 à 15:00:02    

omega2 a écrit :

Plustôt que de dire "je peux pas par ce que ca demande trop de boulot", dit le simplement que t'es là que pour désigner les risques de sécurité et que t'as pas le droit de modifier le code.
 
Ca t'éviterait des critiques surtout que là, tu donnes l'impression que ta principale raison de pas le faire, c'est la quantité de boulot nécessaire à ce changement.


c'est la quantité de boulot mais pas pour moi, pour les larbins qui executeront mes ordres :lol: ;)

Reply

Marsh Posté le 20-09-2005 à 15:01:10    


 
raison de plus pour le faire... :whistle:


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 20-09-2005 à 15:03:02    

omega2 a écrit :

Même, par ce que dans ce cas, on suprime le cookie, on met se qu'on veut dans l'adresse ou à l'aide d'un formulaire si on a envie, et votre systéme est baisé même si le cookie passe en premier.

putaing c vrai ca :lol: j'avai un peu occulté cette facette [:mr_mat] (j'ai pas du dormir assez cette nuit ou alors trop picolé hier :o)

Reply

Marsh Posté le 20-09-2005 à 15:03:42    

skeye a écrit :

raison de plus pour le faire... :whistle:


lol oui mais ils sont deja a la bourre sur des modifs pour la semaine dernière :D

Reply

Marsh Posté le 20-09-2005 à 15:04:06    


 
Manque de coups de fouet...[:jagstang]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 20-09-2005 à 15:06:09    

skeye a écrit :

Manque de coups de fouet...[:jagstang]


j'essaie d'être tendre avec eux qd même étant donné que y'a pas si longtemps (ca se compte en semaine :D) je bossai pr un prestataire alors je sais ce que c'est les clients chiants et maitnenant je veut pas passer pr l'un d'entre eux :D

Reply

Marsh Posté le 20-09-2005 à 18:25:54    

flo850 a écrit :

si registerglobal est activé, alors le resultat depend de ta config apache


Apache n'a rien à voir la dedans, c'est la configuration de PHP qui prime (option variables_order du php.ini qui est par défaut à EGPCS, et qu'il peut être pratique de définir en début de script via ini_set). Par défaut, $_GET est prioritaire, suivi de $_POST, de $_COOKIE et de $_SERVER :)

Reply

Marsh Posté le 20-09-2005 à 20:04:03    

mea culpa, je me suis trompé de fichier  
 
merci core 666 d'avoir corrigé  
 
:jap:

Reply

Marsh Posté le 20-09-2005 à 23:59:47    

Core 666 a écrit :

Apache n'a rien à voir la dedans, c'est la configuration de PHP qui prime (option variables_order du php.ini qui est par défaut à EGPCS, et qu'il peut être pratique de définir en début de script via ini_set). Par défaut, $_GET est prioritaire, suivi de $_POST, de $_COOKIE et de $_SERVER :)


:jap: :jap:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed