Installation : La directive register_globals est activée.

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour!
Lors de l'installation (chez OVH si ça peut changer quelque chose), j'ai le message d'erreur suivant:

"La directive register_globals est activée. Drupal nécessite que cette directive soit désactivée. Votre site peut en effet être à risque si register_globals est activée. Vous trouverez les instructions nécessaires pour changer les paramètres de configuration dans le manuel PHP. (En cours d'utilisation : PHP 'register globals' Activé ('1'))"

J'ai beau regarder les "instructions nécessaires" je trouve pas :D
J'aimerais poursuivre l'installation et donc désactiver cette directive.
Et j'aimerais surtout savoir à quoi ça sert, et quels seront les effets secondaires une fois que cette directive sera désactivée? est-ce que ça me posera des problèmes plus tard?

Version de Drupal : 

Google est ton ami ;)

http://fr3.php.net/register_globals

L'essentiel à retenir c'est que lorsque register_globals est sur ON, la sécurité du serveur est compromise pour les raisons qui sont expliquées en détail sur la page ci-dessus. Un grand nombre d'hébergeurs conservent cette directive sur ON parceque des scripts mal codés ne fonctionnent pas avec register globals OFF et que ça leur évite des demande de support incessantes.

On verra un jour tout ça disparaître car register globals est OBSOLETE depuis PHP 5.3.0 et a été SUPPRIMEE dans PHP 6.0.0.

Maintenant sur la solution, ça va dépendre de ton hébergeur.

Tu peux ajouter :

php_flag register_globals off

dans ton fichier .htaccess (à la racine de ton installation) si ton hébergeur l'autorise.

Certains hébergeur permettent de disposer d'un php.ini personnalisé auquel cas il faudra changer register global = ON en register global = OFF.

Bonjour,

J'ai le même problème chez PHPNET chez qui j'ai un hébergement mutualisé.
Après contactSSS avec le support, j'ai deux possibilités :
- soit je passe en PHP 5.2 en module mais ça signifie que tous mes site (car j'en ai plusieurs sur ce même hébergement) seront concernés par cette modification et je ne le souhaite pas
- soit je reste en PHP 5.3 en CGI et dans ce cas la solution qu'ils me proposent est celle-ci :
"utiliser la fonction PHP ini_set qui permet de redéfinir une variable du php.ini. La fonction ini_set s'utilise donc uniquement dans un script PHP. Dans le cas de Drupal il faudrait à mon avis ajouter une ligne ini_set('register_globals','Off') au début des scripts qui contrôlent l'application (Certainement le fichier index.php et sûrement d'autres scripts)."
J'avoue avoir du mal à comprendre ce qu'il faut faire. J'ai tenté de créer simplement un fichier php.ini que je met à la racine du répertoire Drupal, mais ça ne fonctionne pas. Pour aller plus loin et faire ce qu'ils disent, j'ai cherché sur le net mais rien trouvé de tel... Pouvez-vous m'aider svp ?

Je précise que register-globals à off dans le .htaccess ne fonctionne pas.

Merci !

King

Bonjour
j'aimerais savoir comment vous le faite pour le 1and1
j'ai modifier mon fichier htaccess en ajoutons "php_flag register_globals off"
sa ne donne rien.

pourquoi vous nous précise pas l'emplacement exacte.

Débutant

j'ai galéré un petit moment en jouant avec les flags register_globals sans succès. En fait le problème est ailleurs. Par défaut chez 1and1 on est en php4, et là on a beau faire, ça ne marche pas. Pour passer en PHP5, ajouter au début du fichier .htaccess les lignes suivantes :

Forcer en PHP5

AddType x-mapp-php5 .php

et du coup ça marche impec.

Pour savoir quelle version de PHP est utilisée, créer une page php avec juste une instruction phpinfo() et l'exécuter sur le serveur.

King
Merci.

Enfait il faut crée un fichier php.ini sur la racine de site.
dans cette fichier il faut noté

registre-globals = off

memory_limit = Maximum amount of memory a script consume (8MB)

je suis sur l hebergeur 1and1 apparement leur memoire est limite donc voila.