Author Topic: Register Globals OFF sur tous les serveurs  (Read 5654 times)

Offline staff

  • Tech. EdelweissHosting
  • Administrator
  • Hero Member
  • *****
  • Posts: 6047
  • Karma: 50
    • View Profile
    • EdelweissHosting
Register Globals OFF sur tous les serveurs
« on: Mars 05, 2006, 11:30:54 pm »


Register Globals OFF

Dans le cadre de notre plan de sécurité 2006, nous avons mis Register Globals OFF dans les php.ini de tous les serveurs. Le problème du Register Globals On ou Off a été longuement discuté ces dernières années par la communauté PHP et depuis assez longtemps, la question a été tranchée en faveur du OFF.

Tous les CMS, forums, scripts... actuels fonctionnent normalement avec le Off. Si un site vous pose problème, c'est qu'il n'a pas été mis à jour depuis des années. Une mise à jour suffit pour retrouver le fonctionnement normal. Pour les scripts personnels, il devient nécessaire de déclarer les variables.

Quelques infos:
PHP est un language qui n'exige pas de déclarer les variables avant de les utiliser. On peut, à n'importe quel moment, inventer une nouvelle variable et l'utiliser dans uns script sans plus de formalités. Ceci simplifie la programmation et a été une pratique courrante pendant des années.

Malheureusement, ceci a posé pas mal de problèmes de sécurité. Les variables n'étant pas protégées, il devient facile de les modifier ou d'en créer de nouvelles par un simple URL. Par exemple, vous avez un site avec un accès restreint et une variable access=1 ou access=0 qui ouvre ou ferme l'accès à un utilisateur donné. Dans le cadre d'un environnement avec Register Globals ON et une écriture pas très attentive, il devient très facile à une personne mal intentionnée de changer la valeur de la variable de 0 à 1 et d'obtenir des droits d'accès sans même passer par une page de login.

Ceci peut aller plus loin et vous avez d'anciens scripts qui ont des variables du genre admin=0 ou admin=1 !

Nous avons visité beaucoup de sites hébergés et nous ne pensons pas sincèrement que ce changement posera problème aux webmasters. Le plus important est que la sécurité fera un pas en avant et il sera bien plus difficile d'avoir un accès non autorisé à vos sites et informations.

Merci de reporter des problèmes si jamais vous en constatez.

« Last Edit: Juin 28, 2006, 12:12:15 pm by staff »
Membre Staff EdelweissHosting
Site Principal: http://edelweisshosting.com
Votre IP: http://edelweisshosting.com/ip.php

Offline staff

  • Tech. EdelweissHosting
  • Administrator
  • Hero Member
  • *****
  • Posts: 6047
  • Karma: 50
    • View Profile
    • EdelweissHosting
Re : Register Globals OFF sur tous les serveurs
« Reply #1 on: Mars 05, 2006, 11:54:11 pm »
Bonsoir

On ne peut pas dire comme ça, il faut nous donner plus de précisions.

Avez-vous mis à jour votre CMS ? Au pire contactez le distributeur pour lui demander de vous fournir une version qui n'exige pas de Register Globals On. Il n'y a pratiquement plus aucu hébergeur qui laisser ça sur On de nos jours.

Merci
Membre Staff EdelweissHosting
Site Principal: http://edelweisshosting.com
Votre IP: http://edelweisshosting.com/ip.php

Offline sat010

  • Sr. Member
  • ****
  • Posts: 299
  • Karma: 8
    • View Profile
Re : Register Globals OFF sur tous les serveurs
« Reply #2 on: Mars 05, 2006, 11:55:49 pm »
 soucis reparer  avec un fichier .htaccess
 message a effacer
 merci bonne soiree
a++  SAT010

Offline gloupy

  • Revendeurs
  • Hero Member
  • ******
  • Posts: 626
  • Karma: 24
    • View Profile
Re : Register Globals OFF sur tous les serveurs
« Reply #3 on: Mars 06, 2006, 12:03:31 am »
le cms que tu utilises n'est pas compatible dans sa version de base avec register_global = off  -->http://doc.pwsphp.com/index.php?mod=articles&ac=commentaires&id=39

Offline sat010

  • Sr. Member
  • ****
  • Posts: 299
  • Karma: 8
    • View Profile
Re : Register Globals OFF sur tous les serveurs
« Reply #4 on: Mars 06, 2006, 12:07:20 am »
merci gloupy mais grace au fichier .htaccess  c'est  ok

question au staff: Register Globals OFF  est ce que cela accelere les script cms un peu ou pas?
car je vois que ça speed un peu plus
merci bonne soiree
« Last Edit: Mars 06, 2006, 12:10:30 am by sat010 »
a++  SAT010

Offline Ptigrouick

  • Newbie
  • *
  • Posts: 46
  • Karma: 1
    • View Profile
Re : Register Globals OFF sur tous les serveurs
« Reply #5 on: Mars 06, 2006, 12:14:53 am »
Bonsoir,

Je travaillais tranquillement sur un de mes sites ce soir et d'un seul coup... un problème. J'ai d'abord suspecté un bug dans un de mes scripts PHP, mais j'ai rapidement dû me rendre à l'évidence... il n'y a plus rien du tout qui marche !!
Donc je viens sur ce forum et là je vois ce message. Quel ne fut pas mon effroi !! Je vous explique mon problème : j'ai 2 sites qui fonctionnent avec une appli PHP que j'ai moi-même développé il y a 3 ans. A l'époque je n'étais pas aussi à l'aise avec PHP et j'ai malheureusement tout codé en register_globals = ON. Cette appli contient énormément de scripts PHP et a représenté un très gros travail. Je n'ai absolument pas le temps de tout reprendre pour prendre en compte le register_globals à OFF.
Je vous en supplie rétablissez le register_globals. Mes deux sites sont complètement inutilisables dans leur état actuel. Le 1er site attire beaucoup de joueurs et je vais rapidement être submergé de mails si le site reste inutilisable. Je viens de lancer le 2ème site et j'étais en train de contacter des joueurs pour lancer un 1er test.
Pour l'instant tout mon travail vient d'être réduit à néant... Est-ce qu'il est possible de rétablir le register_globals juste pour ces 2 sites. Je vous en prie c'est une question de vie ou de mort pour ces deux sites...
Merci !
« Last Edit: Mars 06, 2006, 12:17:44 am by Ptigrouick »

Offline staff

  • Tech. EdelweissHosting
  • Administrator
  • Hero Member
  • *****
  • Posts: 6047
  • Karma: 50
    • View Profile
    • EdelweissHosting
Re : Register Globals OFF sur tous les serveurs
« Reply #6 on: Mars 06, 2006, 12:19:08 am »
Bonsoir

On a un serveur (on ne dit pas lequel) qui est en on pour quelques semaines encore. On peut mettre vos sites dessus en attendant que vous les mettiez à jour.

Ce n'est pas de votre faute, il y a 2 ou 3 ans, c'était pas un vrai souci. Aujourd'hui, et même depuis 1 an environ, plus personne ne fait tourner des serveurs avec le register_globals en off.

Peut être que le .htaccess de gloupy, s'il peut le poster, peut vous être utile aussi. Autrement, on déplace les sites.
Membre Staff EdelweissHosting
Site Principal: http://edelweisshosting.com
Votre IP: http://edelweisshosting.com/ip.php

Offline sat010

  • Sr. Member
  • ****
  • Posts: 299
  • Karma: 8
    • View Profile
Re : Register Globals OFF sur tous les serveurs
« Reply #7 on: Mars 06, 2006, 12:21:26 am »
essaie de mettre a la racine de tes  sites  un fichier   .htaccess
avec dedans  ceci 
Code: [Select]
php_flag register_globals on  redit voir si ça fonctionne
a++bonne soiree
a++  SAT010

Offline staff

  • Tech. EdelweissHosting
  • Administrator
  • Hero Member
  • *****
  • Posts: 6047
  • Karma: 50
    • View Profile
    • EdelweissHosting
Re : Register Globals OFF sur tous les serveurs
« Reply #8 on: Mars 06, 2006, 12:32:15 am »
On n'a pas d'infos sur la vitesse, mais la sécurité est multipliée par 1000.

Pour OsCommerce, voici un patch:

http://www.oscommerce.com/community/contributions,2957

Qui lui permet de fonctionner même avec le registar_globals off.
Membre Staff EdelweissHosting
Site Principal: http://edelweisshosting.com
Votre IP: http://edelweisshosting.com/ip.php

Offline Ptigrouick

  • Newbie
  • *
  • Posts: 46
  • Karma: 1
    • View Profile
Re : Register Globals OFF sur tous les serveurs
« Reply #9 on: Mars 06, 2006, 12:39:05 am »
YES !! Ca marche... Merci Gloupy & Sat010.
Par contre une précision avec le staff. Cela ne vous pose pas de problème que je simule le register_globals à on pour mes 2 sites ? Parce que le problème c'est que la modification de mon appli PHP va réellement demander une énorme quantité de travail et que ce ne sera vraiment pas possible dans l'immédiat (overbooké le pauvre Ptigrouick). Je pense qu'elle restera en l'état pendant encore un bout de temps...
En tout cas merci pour les réponses aussi rapides ;-)

Offline staff

  • Tech. EdelweissHosting
  • Administrator
  • Hero Member
  • *****
  • Posts: 6047
  • Karma: 50
    • View Profile
    • EdelweissHosting
Re : Register Globals OFF sur tous les serveurs
« Reply #10 on: Mars 06, 2006, 12:44:42 am »
Ca va vous poser un problème à vous. Il faudra réellement travailler à rendre les sites compatibles avec le OFF parce qu'un jour où l'autre, soit vous aurez des soucis, soit la mise à jour de PHP n'acceptera plus les contournements.

D'ailleurs, maintenant les nouvelles versions de PHP ont toutes les register_global qui est off par défaut. Avant il était on.
Membre Staff EdelweissHosting
Site Principal: http://edelweisshosting.com
Votre IP: http://edelweisshosting.com/ip.php

Grummfy

  • Guest
Re : Register Globals OFF sur tous les serveurs
« Reply #11 on: Mars 06, 2006, 12:51:27 am »
Moi je dirait que c'est comme pour toutes chsoes, lorsque l'on code le mieux étant de le faire avec le plus de restrictiosn possibles afin d'être sur que cela marchera presque toujours... (sans js, sans images, sans registargloabls a on, etc)

Offline staff

  • Tech. EdelweissHosting
  • Administrator
  • Hero Member
  • *****
  • Posts: 6047
  • Karma: 50
    • View Profile
    • EdelweissHosting
Re : Register Globals OFF sur tous les serveurs
« Reply #12 on: Mars 06, 2006, 12:59:24 am »
Effectivement, du moment qu'on adhère aux bonnes pratiques, on a des scripts qui durent des années. Par contre, si jamais on se laisser aller à des trucs faciles mais pas très catholiques, même si ça marche sur le moment, il n'y a aucune garantie sur le long terme.
Membre Staff EdelweissHosting
Site Principal: http://edelweisshosting.com
Votre IP: http://edelweisshosting.com/ip.php

Offline Ptigrouick

  • Newbie
  • *
  • Posts: 46
  • Karma: 1
    • View Profile
Re : Register Globals OFF sur tous les serveurs
« Reply #13 on: Mars 06, 2006, 01:40:27 am »
Oui certes... De toute façon je suis totalement d'accord avec ce que vous dites. Maintenant que j'ai un peuplus d'expérience avec le langage PHP, je ne me laisse plus aller à autant de facilité. La force du langage PHP c'est qu'un débutant peut rapidement faire des choses intéressantes... et cela peut aussi devenir son principal défaut car le débutant ne se rendra pas compte qu'il n'a pas fait les choses dans les règles de l'art. Le problème avec le register globals c'est qu'il y a 3 ans les choses n'étaient pas aussi limpides. Le débat a fait rage un bon moment...
De toute façon je comptais un jour refaire complètement mon application en programmation objet avec PHP5 et prendre en compte bien évidemment le register globals à OFF, comme je le fais maintenant avec tous mes projets PHP. Je pense que je vais même la développer en composant pour le CMS Joomla car il pourrait ainsi servir sur d'autres sites. Il permet de gérer des compétitions sportives en générant des calendriers de championnats et en calculant automatiquement des classements à partir des résultats saisis.
Apparemment il va falloir que je mette en tête de mes priorités de passer la version actuelle en register globals à OFF... De toute façon je craignais bien que cela arrive un jour :-)

Offline Ptigrouick

  • Newbie
  • *
  • Posts: 46
  • Karma: 1
    • View Profile
Re : Register Globals OFF sur tous les serveurs
« Reply #14 on: Mars 06, 2006, 02:22:21 am »
Je ne sais pas si cela à un rapport mais actuellement je n'arrive plus à me connecter à mon panel DirectAdmin... Si je passe par mon domaine principal : 2222 il n'y aucune page de chargée, et si je passe par l'IP du serveur : 2222 le formulaire de connexion apparait mais ça m'indique un Invalid login alors que je saisi exactement le même login et mot de passe qu'avant. DirectAdmin aurait-il un problème de register_globals = OFF ???