Magazine Internet

Désactiver register_globals et les magic_quotes

Publié le 26 juillet 2009 par Rkueny

Il y a quelques temps, dans les commentaires sur l’article traitant de OVH et PHP 5, nous avons abordé le problème des magic quotes et du register globals.

Pour des questions de sécurité il est conseillé de les désactiver. Pour les magic_quotes, PHP 6 s’en chargera … Mais bon, quand on voit que OVH est encore en PHP 4, on se dit que le problème n’est pas encore réglé ^^.

Dans tout mes projets, lorsque j’appelle mon fichier de configuration je désactive les magic_quotes et je mets le register_globals à off. Voici donc le contenu de mon init.conf.php :

Désactivation des magic_quotes :

?[Copy to clipboard]View Code PHP

/*
   suppression des magic quotes
   pour raisons de sécurités
- on met magic_quotes_runtime à 0 (désactivé)
- on désactive magic_quotes_runtime (0)
- si magic_quotes_gpc est activé, on le désactive
  pour tout les types de variable
*/
 
ini_set('magic_quotes_runtime', 0);
set_magic_quotes_runtime(0);
 
if (1 == get_magic_quotes_gpc()){
     function remove_magic_quotes_gpc(&$value){
          $value = stripslashes($value);
     }
 
     array_walk_recursive($_GET, 'remove_magic_quotes_gpc');
     array_walk_recursive($_POST, 'remove_magic_quotes_gpc');
     array_walk_recursive($_COOKIE, 'remove_magic_quotes_gpc');
}

Désactivation du register_globals :

?[Copy to clipboard]View Code PHP

/*
 
 Mise à off de register_globals (de base si version PHP > 4.2)
 pour des raisons de sécurité
 
- si register_globals est activé :
- on le désactive pour les sessions
- on le désactive pour toutes les variables
- on le met à off
*/
 
if(ini_get('register_globals')){
     $superglobals = array($_SERVER, $_ENV, $_FILES, $_COOKIE, $_POST, $_GET);
 
     if(isset($_SESSION)){
          array_unshift($superglobals, $_SESSION);
    }
 
    foreach ($superglobals as $superglobal){
         foreach ($superglobal as $global => $value){
              unset($GLOBALS[$global]);
         }
    }
 
     ini_set('register_globals', false);
}

Voilà, vous avez ma version pour partir sur de bonnes bases.


Retour à La Une de Logo Paperblog

A propos de l’auteur


Rkueny 160 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossier Paperblog

Magazine