Grave problème de version de PHP !!! 4.2.0 ==> 4.2.3

Grave problème de version de PHP !!! 4.2.0 ==> 4.2.3 - PHP - Programmation

Marsh Posté le 10-09-2002 à 11:17:13    

mon problème :
 
j'ai fini la nouvelle version de mon site en local chez moi, avec easyphp pour faire tourner tout ca, php 4.2.0 comme version de php installé ! hop tout content j'upload sur mon serveur, version php 4.2.2 et hop ! plus rien ne marche ! :heink:  
 
J'update ma version local de php à la 4.2.3 (la toute dernière) ! et plus rien de marche !!!!!!!  [:jils]  
 
quand je clique sur un lien il me renvoie automatiquement sur la page ou j'étais précedemment ! :sweat:  
 
exemple :  
 
http://www.tuning-auto.com/forum

Reply

Marsh Posté le 10-09-2002 à 11:17:13   

Reply

Marsh Posté le 10-09-2002 à 11:25:03    

comment tu as géré les passages de paramètres ? (?var1=xxx&var2=yyy)
avec :  
- $var1
- $HTTP_GET_VARS['var1']
- $_GET['var1']
 
Les dernières versions de php n'accèptent que les 2 dernières solutions.


Message édité par ethernal le 10-09-2002 à 11:27:08

---------------
...oups kernel error...
Reply

Marsh Posté le 10-09-2002 à 11:56:10    

ethernal a écrit a écrit :

comment tu as géré les passages de paramètres ? (?var1=xxx&var2=yyy)
avec :  
- $var1
- $HTTP_GET_VARS['var1']
- $_GET['var1']
 
Les dernières versions de php n'accèptent que les 2 dernières solutions.



:ouch: Pourquoi ils ont fait ça?  :ouch:

Reply

Marsh Posté le 10-09-2002 à 11:58:34    

Reply

Marsh Posté le 10-09-2002 à 12:00:28    

omega2 a écrit a écrit :

 :ouch: Pourquoi ils ont fait ça?  :ouch:  




 
question de sécurité il me semble


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 10-09-2002 à 12:03:30    

C'est quoi cette merde ?
 
C'est pas vrai hein, c'est une blague ?
 
 :cry:


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
Reply

Marsh Posté le 10-09-2002 à 12:05:57    

bah spa si grave, suffit de récupérer, tout au début de ton code, les variables, et d'assigner avec ça les variables que tu utilisais avant (les classiques $nomvar)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 10-09-2002 à 12:07:22    

antp a écrit a écrit :

bah spa si grave, suffit de récupérer, tout au début de ton code, les variables, et d'assigner avec ça les variables que tu utilisais avant (les classiques $nomvar)




 
Mais faut quand même changer de dizaines de pages?  :gun:


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
Reply

Marsh Posté le 10-09-2002 à 12:08:31    

antp a écrit a écrit :

 
 
question de sécurité il me semble



En bref, faut que je repasses sur tout mes scripts pour les rendre compatible avec les dernières versions de php4. :(
Quand a la question de sécurité, je vois pas le problème.
Soit la personne programme n'importe comment et n'inialise jamais les variables qu'elle utilise soit elle les initialise comme il faut et il y a aucun problème.  
 
Bon, pour les variables provenant des cookies, ont peut toujours y accéder a partir des nom en $cookie_nom ou faut passer par une variable de type tableau ???

Reply

Marsh Posté le 10-09-2002 à 12:13:11    

Freekill a écrit a écrit :

 
 
Mais faut quand même changer de dizaines de pages?  :gun:  




 
dans mon cas 1 seule : index.php, qui se charge d'appeler les pages nécessaires :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 10-09-2002 à 12:13:11   

Reply

Marsh Posté le 10-09-2002 à 12:16:01    

antp a écrit a écrit :

 
 
dans mon cas 1 seule : index.php, qui se charge d'appeler les pages nécessaires :D



Dans mon cas toutes les pages.
bechat.php3 (futur index.php3) qui appelle ensuite la page qui créé le menu (appel d'une page php3 par module) et les diférentes pages corespondant aux diférents modules.
Dans presque tous ces fichiers, j'ai des variables qui sont passé en paramêtre.

Reply

Marsh Posté le 10-09-2002 à 12:16:23    

antp a écrit a écrit :

 
 
dans mon cas 1 seule : index.php, qui se charge d'appeler les pages nécessaires :D




 
Merci de ta solidarité?  :sarcastic:


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
Reply

Marsh Posté le 10-09-2002 à 12:20:36    

omega2 a écrit a écrit :

Dans mon cas toutes les pages.
bechat.php3 (futur index.php3) qui appelle ensuite la page qui créé le menu (appel d'une page php3 par module) et les diférentes pages corespondant aux diférents modules.
Dans presque tous ces fichiers, j'ai des variables qui sont passé en paramêtre.




 
heu si tu as une page qui appelle les autres normalement t'en as qu'une à changer, non :??:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 10-09-2002 à 12:21:06    

Qu'est-ce que c'est que cette histoire ?  :heink:  
 
Je viens de foutre la 4.2.3 et je ne remarque aucun problème?  :heink:


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
Reply

Marsh Posté le 10-09-2002 à 12:21:40    

Freekill a écrit a écrit :

 
 
Merci de ta solidarité?  :sarcastic:  




 
c'était une participation cachée au troll "index.php qui inclu les pages VS pages qui incluent les différents éléments communs"


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 10-09-2002 à 12:23:56    

antp a écrit a écrit :

 
 
c'était une participation cachée au troll "index.php qui inclu les pages VS pages qui incluent les différents éléments communs"




 
Bah ouais mais j'ai pas qu'un site hein, et j'aime bien expérimenter alors ils ne fonctionnent pas tous sur le même principe.
 
Les derniers n'ont souvent qu'un index.php, mais ce n'est pas le cas de tous?


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
Reply

Marsh Posté le 10-09-2002 à 12:24:27    

pour les cookies idem, variables serveurs aussi, post aussi, tout quoi...
 
maintenant j'ai trouvé le truc :
define(GET_VARS,'$_GET';); //--> ${GET_VARS}['var']
define(POST_VARS,'$_POST';); //--> ${POST_VARS}['var']
define(COOKIE_VARS,'$_COOKIE';); //--> ${COOKIE_VARS}['var']
define(SERVER_VARS,'$_SERVER';); //--> ${SERVER_VARS}['http_referer']
...
 
comme ça la prochaine fois qu'ils changent, je suis tranquille :D


---------------
...oups kernel error...
Reply

Marsh Posté le 10-09-2002 à 12:24:53    

Freekill a écrit a écrit :

 
 
Bah ouais mais j'ai pas qu'un site hein, et j'aime bien expérimenter alors ils ne fonctionnent pas tous sur le même principe.
 
Les derniers n'ont souvent qu'un index.php, mais ce n'est pas le cas de tous?




 
t'es pas obligé de te justifier sur le choix de la mauvaise solution  [:titprem]


Message édité par antp le 10-09-2002 à 12:25:03

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 10-09-2002 à 12:25:57    

antp a écrit a écrit :

 
 
t'es pas obligé de te justifier sur le choix de la mauvaise solution  [:titprem]




 
 :kaola:


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
Reply

Marsh Posté le 10-09-2002 à 12:25:58    

Freekill a écrit a écrit :

Qu'est-ce que c'est que cette histoire ?  :heink:  
 
Je viens de foutre la 4.2.3 et je ne remarque aucun problème?  :heink:  




 
--> php.ini : register_globals= off


---------------
...oups kernel error...
Reply

Marsh Posté le 10-09-2002 à 12:27:35    

Tiens c'est bizarre, on dirait que contrairement à ce qu'ils disaient ils ont refoutu register_globals sur "on" par défaut dans la version 4.2.3, ce qui explique pourquoi ça fonctionne chez moi?


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
Reply

Marsh Posté le 10-09-2002 à 12:28:14    

ethernal a écrit a écrit :

 
 
--> php.ini : register_globals= off




 
Ouais ouais, je regardais justement? (cf. supra)


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
Reply

Marsh Posté le 10-09-2002 à 12:38:32    

Rhâââaaa !  :fou:  
 
Et comment on fait si on peut accéder à une page depuis un lien (GET) et un formulaire (POST), hein ?  
 
Quelle merde ! :gun:
 
 
 
Edit:
 
Bon ok, il vaut mieux utiliser $_REQUEST que $_POST ou $_GET on dirait?
 

Request variables: $_REQUEST
 
Note: Introduced in 4.1.0. There is no equivalent array in earlier versions.  
 
An associative array consisting of the contents of $_GET, $_POST, $_COOKIE, and $_FILES.



Message édité par Freekill le 10-09-2002 à 12:42:29

---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
Reply

Marsh Posté le 10-09-2002 à 12:55:24    

antp a écrit a écrit :

 
 
heu si tu as une page qui appelle les autres normalement t'en as qu'une à changer, non :??:
 



Ben non, par ce que tout les modules n'utilisent pas derrières exactement les mêmes variables et j'ai pas envie de devoir modifier le fichier index.php3 à chaque fois que je rajoute un module.
En plus, je risques de passer mon code à un ami pour son site alors si c'est pour ce retrouver avec des problèmes de versions du fichier index.php3 par ce qu'on aura tout les deux bossé sur des modules diférents sans s'être envoyé desuite le fichier ca serait vraiment con.
Bref, les variables utilisé par le code du fichier index.php3 sera modifié à ce niveaux là et celles qui corespondent à un module seront modifié au niveau du module.
A moins que t'ai une solution à me proposer qui marche aussi bien en php3 que php4 et qui transforment en variable simple toutes les variables passé en paramêtre. ;)

Reply

Marsh Posté le 10-09-2002 à 13:08:44    

omega2 a écrit a écrit :

Ben non, par ce que tout les modules n'utilisent pas derrières exactement les mêmes variables et j'ai pas envie de devoir modifier le fichier index.php3 à chaque fois que je rajoute un module.
En plus, je risques de passer mon code à un ami pour son site alors si c'est pour ce retrouver avec des problèmes de versions du fichier index.php3 par ce qu'on aura tout les deux bossé sur des modules diférents sans s'être envoyé desuite le fichier ca serait vraiment con.
Bref, les variables utilisé par le code du fichier index.php3 sera modifié à ce niveaux là et celles qui corespondent à un module seront modifié au niveau du module.
A moins que t'ai une solution à me proposer qui marche aussi bien en php3 que php4 et qui transforment en variable simple toutes les variables passé en paramêtre. ;)




 
Perso j'envisage cette "solution" pour le moment :
 

extract($_REQUEST);


 
($_REQUEST n'existe pas avant 4.1.0, il faut utiliser $HTTP_POST_VARS, $HTTP_GET_VARS et $HTTP_COOKIE_VARS)


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
Reply

Marsh Posté le 10-09-2002 à 13:24:49    

Ca pourra peut etre vous aider --> http://www.phpinfo.net/?p=articles&rub=globals

Reply

Marsh Posté le 10-09-2002 à 13:51:39    

AAAAAAAAAH  :cry:  
 
mais je suis perdu ! foutu !  [:jils]  
 
je suis pas programmeur php professionnel moi !!!
 
je fais quoi maintenant ????  
je modifie tout mes "$rubrique" par cette merde http_GEt_chépakoi...... ?????????
 
 :sweat:

Reply

Marsh Posté le 10-09-2002 à 14:46:45    

sysman a écrit a écrit :

AAAAAAAAAH  :cry:  
 
mais je suis perdu ! foutu !  [:jils]  
 
je suis pas programmeur php professionnel moi !!!
 
je fais quoi maintenant ????  
je modifie tout mes "$rubrique" par cette merde http_GEt_chépakoi...... ?????????
 
 :sweat:  




if isset($_GET);
  extract($_GET);
if isset($_POST);
  extract($_POST);
if isset($_COOKIE);
  extract($_COOKIE);
Voilà ce que je vais mettre dans mon code.
Comme ça, il continuera à tourner, mais normalement, je n'y avais pas laissé de gros trous de sécurité.

Reply

Marsh Posté le 10-09-2002 à 15:32:17    

omega2 a écrit a écrit :

 
if isset($_GET);
  extract($_GET);
if isset($_POST);
  extract($_POST);
if isset($_COOKIE);
  extract($_COOKIE);
Voilà ce que je vais mettre dans mon code.
Comme ça, il continuera à tourner, mais normalement, je n'y avais pas laissé de gros trous de sécurité.




 
et suffirait de mettre ca pour que ca fonctionne ?  :??:  sorry mais chui vraiment pas une grosse dale en php... je connais les bases et c tout... :sweat:

Reply

Marsh Posté le 10-09-2002 à 16:30:42    

help !
 
 :bounce:  
 
je comprends pas kes ki faut faire...  [:bounty]

Reply

Marsh Posté le 10-09-2002 à 17:04:06    

sysman a écrit a écrit :

help !
 
 :bounce:  
 
je comprends pas kes ki faut faire...  [:bounty]  



Théoriquement, oui, ca devrait sufire.
Je peux rien te promettre n'ayant pas encore testé tout ça.
Si les variables que ca va remplir existe déjà, alors il va les remplacer. Faut surement le faire au tout début des pages appellé par le navigateur pour éviter d'avoir affecter les valeurs à une variable qui risquerait alors d'être écrasé.
Le seul problème, c'est pour les variables provenant des cookies, faut que je voyes, si ca marchera très bien comme ça ou si faut modifier un peu le code.
Je testerais ça plus tard.

Reply

Marsh Posté le 10-09-2002 à 18:58:46    

Moi pour recuperais mes variables d'un $_POST et les remettre comme avant j'ai fais ce code :
 
 

reset ($_POST);  
while (list ($clef, $valeur)=each($_POST)){  
${$clef}=$valeur;  
}


 
Bien sur ou peut mettre tous le autre comme _GET, _COOKIE et _SERVEUR !!

Reply

Marsh Posté le 10-09-2002 à 22:29:15    

omega2 a écrit a écrit :

 
if isset($_GET);
  extract($_GET);
if isset($_POST);
  extract($_POST);
if isset($_COOKIE);
  extract($_COOKIE);
Voilà ce que je vais mettre dans mon code.
Comme ça, il continuera à tourner, mais normalement, je n'y avais pas laissé de gros trous de sécurité.




 
j'utilise ca aussi [:ddr555]


---------------
For a relaxing time, make it suntory time
Reply

Marsh Posté le 11-09-2002 à 09:12:40    

ben en fait, suffit de mettre register_goal sur "ON"..
 
c'est tetre pas l'idéal mais ca marche au moins... :sweat:

Reply

Marsh Posté le 11-09-2002 à 10:14:21    

bozocarzu a écrit a écrit :

Moi pour recuperais mes variables d'un $_POST et les remettre comme avant j'ai fais ce code :
 
 

reset ($_POST);  
while (list ($clef, $valeur)=each($_POST)){  
${$clef}=$valeur;  
}


 
Bien sur ou peut mettre tous le autre comme _GET, _COOKIE et _SERVEUR !!



Et si ton script est utilisé a partir d'un php3, tu te payes une superbe erreur grace au "each".

Reply

Marsh Posté le 11-09-2002 à 10:15:09    

sysman a écrit a écrit :

ben en fait, suffit de mettre register_goal sur "ON"..
 
c'est tetre pas l'idéal mais ca marche au moins... :sweat:  



Si c'est dans le fichier php.ini, tout le monde n'y a pas toujours accés. D'où utilisation de la ruse ci dessus pour arriver à ses fins. ;)

Reply

Marsh Posté le 11-09-2002 à 14:17:23    

omega2 a écrit a écrit :

Si c'est dans le fichier php.ini, tout le monde n'y a pas toujours accés. D'où utilisation de la ruse ci dessus pour arriver à ses fins. ;)




 
ouais c'est juste ! [:sysman]  
 
j'ai de la chance d'avoir un serveur dédié !!  :hap:  [:zjk]  [:yaisse2]

Reply

Marsh Posté le 11-09-2002 à 15:16:02    

sysman a écrit a écrit :

 
 
ouais c'est juste ! [:sysman]  
 
j'ai de la chance d'avoir un serveur dédié !!  :hap:  [:zjk]  [:yaisse2]  



Et de ne pas avoir à partager tes sources avec une personne qui n'en a pas.  :kaola: ;)

Reply

Marsh Posté le 12-09-2002 à 19:06:52    

omega2 a écrit a écrit :

Et si ton script est utilisé a partir d'un php3, tu te payes une superbe erreur grace au "each".




 
 :??:  

Reply

Marsh Posté le 12-09-2002 à 20:46:11    

Arrétez votre délire les mecs, ça a été intégré à partir de PHP 4.1 et ça date pas d'aujourd'hui.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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