VRAI si connecté / FAUX si pas connecté * */ function connected(){ return $_SESSION['identifiant'] != null; } /** retourne si un utilisateur a un droit ou non * * @return permission VRAI si l'utilisateur a ce droit / FAUX s'il ne l'a pas * * */ function permission($perm){ return connected() && is_int( array_search($perm, $_SESSION['droits']) ); } function debug(){ ini_set('display_errors',1); ini_set('display_startup_errors',1); error_reporting(-1); } /*********** AURELIEN TROU DU CUL TU TE DEMERDE ***********/ function checkParams($arrayVar, $arrayType, $arrayRegex){ } /* [1] SESSIONS & REDIRECTION ============================================================*/ /* ETABLIT UNE SESSION SÉCURISÉE * * [1] Définit un id_session (PHPSESSID) unique et propre à une connection * + propre à un navigateur (navigateur, version, OS, système X, ...) * + propre à un accès (ip publique = box) * * [2] Démarre la session * */ function session_init(){ /* session_id( // on définit le session id sha1( // qui est un Hash MD5 $_SERVER['HTTP_USER_AGENT']. // qui correspond aux infos système disponibles de l'utilisateur $_SERVER['REMOTE_ADDR'] // et de son ip publique ) ); */ session_start(); // on démarre la session // on vérifie l'intégrité des variables session $identifiantDefinedProperly = isset($_SESSION['identifiant']) && !empty($_SESSION['identifiant']) && gettype($_SESSION['identifiant']) == 'string' && strlen($_SESSION['identifiant']) > 0; $droitsDefinedProperly = isset($_SESSION['droits']) && !empty($_SESSION['droits']) && is_array($_SESSION['droits']) && count($_SESSION['droits']) > 0; if( $droitsDefinedProperly ) foreach($_SESSION['droits'] as $droit) if( !is_int( array_search($droit, getPermissions()) ) ) // si le droit n'est pas dans la liste des possibilitées, on retourne false $droitsDefinedProperly = false; // si les variables sessions ne sont pas toutes les 2 correctes if( !$identifiantDefinedProperly || !$droitsDefinedProperly ){ $_SESSION['identifiant'] = null; // on les initialise à NULL $_SESSION['droits'] = array(); } }session_init(); /* [2] GESTION DES PARAMÈTRES ============================================================*/ /** Vérifie le bon format, le bon type, ainsi que la bonne valeur des variables envoyées * * @param $tabVar tableau contenant l'ensemble des variables a vérifiées * @param $tabForm tableau contenant l'ensemble des formats attendus * * @return 'success' si variables bonnes / 'error' sinon */ function checkParam($tabVar,$tabForm) { var $checker; if(isset(tabVar) && isset(tabForm)) { foreach ($tabVar as $type => $value) { foreach ($value as $variable) { // $checker = } } } else { return 'missing parameters'; } } ?>