Fonction de sécurité contre la pollution des variables et le hijacking

Contenu du snippet

Fonction pour lutter contre la pollution des variables vous appelez la fonction en tout début de page par exemple dans le header de votre site avant toute utilisation des super globales (get, server, env, post, cookie, etc)... cette fonction va tout simplement rechercher la présence de variable(s) interdite(s) dans les données soumises par l'internaute (get, post, cookie) et si elle en trouve elle met leur valeur à null... en parallèle un nettoyage de la super globale $GLOBALS est fait... c'est particulièrement utile pour ceux qui sont en register global à On et qui ont des mauvaises habitudes de codage (cela ne dispence bien entendu pas de prendre les bonnes habitudes)... ..

Source / Exemple :


/**

  • Check superglobals for contamination and to prevent session hijacking
*
  • @return void
    • /
function checkSuperGlobals() { $vars_array = array( 'GLOBALS', '_SESSION', '_GET', '_POST', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES', ); $inputs = array_merge($_GET, $_POST, $_COOKIE, $_SERVER, $_ENV, $_FILES, isset($_SESSION) ? (array)$_SESSION : array()); foreach($inputs as $k => $v) { if (isset($GLOBALS[$k]) && !in_array($k, $vars_array)) unset($GLOBALS[$k]); elseif(in_array($k, $vars_array) && isset($_REQUEST[$k])) { $_REQUEST[$k] = null; if(isset($_GET[$k])) $_GET[$k] = null; if(isset($_POST[$k])) $_POST[$k] = null; if(isset($_COOKIE[$k])) $_COOKIE[$k] = null; } } }

Conclusion :


Il va de soit que ce n'est pas parce que vous utiliserez cette fonction que vous serez à l'abri de tout... .. .

En espérant que ça vous serve... .. .

@ tchaOo°

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.