Chargement en cours ecrire/inc/meta.php +1 −1 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -32,7 +32,7 @@ function inc_meta_dist($table = 'meta') { // en cas d'install ne pas faire confiance au meta_cache eventuel $cache = cache_meta($table); if ((_request('exec') !== 'install' or !test_espace_prive()) if ((!$exec = _request('exec') or !autoriser_sans_cookie($exec)) and $new = jeune_fichier($cache, _META_CACHE_TIME) and lire_fichier_securise($cache, $meta) and $meta = @unserialize($meta) Chargement en cours ecrire/inc/securiser_action.php +10 −8 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -184,7 +184,8 @@ function caracteriser_auteur($id_auteur = null) { function _action_auteur($action, $id_auteur, $pass, $alea) { static $sha = array(); if (!isset($sha[$id_auteur . $pass . $alea])) { if (!isset($GLOBALS['meta'][$alea]) and _request('exec') !== 'install') { if (!isset($GLOBALS['meta'][$alea])) { if (!$exec = _request('exec') or !autoriser_sans_cookie($exec)){ include_spip('inc/acces'); charger_aleas(); if (empty($GLOBALS['meta'][$alea])){ Chargement en cours @@ -194,6 +195,7 @@ function _action_auteur($action, $id_auteur, $pass, $alea) { exit; } } } include_spip('auth/sha256.inc'); $sha[$id_auteur . $pass . $alea] = spip_sha256($id_auteur . $pass . @$GLOBALS['meta'][$alea]); } Chargement en cours ecrire/inc/utils.php +13 −3 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -1644,14 +1644,24 @@ function find_all_in_path($dir, $pattern, $recurs = false) { /** * Prédicat sur les scripts de ecrire qui n'authentifient pas par cookie * et beneficient d'une exception * * @param string $nom * @param bool $strict * @return bool */ function autoriser_sans_cookie($nom) { function autoriser_sans_cookie($nom, $strict = false) { static $autsanscookie = array('install', 'base_repair'); $nom = preg_replace('/.php[3]?$/', '', basename($nom)); return in_array($nom, $autsanscookie); if (in_array($nom, $autsanscookie)) { if (test_espace_prive()){ include_spip('base/connect_sql'); if (!$strict or !spip_connect()){ return true; } } } return false; } /** Chargement en cours ecrire/index.php +17 −15 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -41,7 +41,7 @@ $reinstall = (!is_null(_request('reinstall'))) ? _request('reinstall') : ($exec // Les scripts d'insallation n'authentifient pas, forcement, // alors il faut blinder les variables d'URL // if (autoriser_sans_cookie($exec)) { if (autoriser_sans_cookie($exec, false)) { if (!isset($reinstall)) { $reinstall = 'non'; } Chargement en cours @@ -64,6 +64,7 @@ $forcer_lang = true; if (_request('action') or _request('var_ajax') or _request('formulaire_action')) { if (!autoriser_sans_cookie($exec)){ // Charger l'aiguilleur qui va mettre sur la bonne voie les traitements derogatoires include_spip('public/aiguiller'); if ( Chargement en cours @@ -79,6 +80,7 @@ if (_request('action') or _request('var_ajax') or _request('formulaire_action')) exit; } // le hit est fini ! } } // securiser les redirect du back-office if (_request('redirect')) { if (!function_exists('securiser_redirect_action')){ Chargement en cours Chargement en cours
ecrire/inc/meta.php +1 −1 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -32,7 +32,7 @@ function inc_meta_dist($table = 'meta') { // en cas d'install ne pas faire confiance au meta_cache eventuel $cache = cache_meta($table); if ((_request('exec') !== 'install' or !test_espace_prive()) if ((!$exec = _request('exec') or !autoriser_sans_cookie($exec)) and $new = jeune_fichier($cache, _META_CACHE_TIME) and lire_fichier_securise($cache, $meta) and $meta = @unserialize($meta) Chargement en cours
ecrire/inc/securiser_action.php +10 −8 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -184,7 +184,8 @@ function caracteriser_auteur($id_auteur = null) { function _action_auteur($action, $id_auteur, $pass, $alea) { static $sha = array(); if (!isset($sha[$id_auteur . $pass . $alea])) { if (!isset($GLOBALS['meta'][$alea]) and _request('exec') !== 'install') { if (!isset($GLOBALS['meta'][$alea])) { if (!$exec = _request('exec') or !autoriser_sans_cookie($exec)){ include_spip('inc/acces'); charger_aleas(); if (empty($GLOBALS['meta'][$alea])){ Chargement en cours @@ -194,6 +195,7 @@ function _action_auteur($action, $id_auteur, $pass, $alea) { exit; } } } include_spip('auth/sha256.inc'); $sha[$id_auteur . $pass . $alea] = spip_sha256($id_auteur . $pass . @$GLOBALS['meta'][$alea]); } Chargement en cours
ecrire/inc/utils.php +13 −3 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -1644,14 +1644,24 @@ function find_all_in_path($dir, $pattern, $recurs = false) { /** * Prédicat sur les scripts de ecrire qui n'authentifient pas par cookie * et beneficient d'une exception * * @param string $nom * @param bool $strict * @return bool */ function autoriser_sans_cookie($nom) { function autoriser_sans_cookie($nom, $strict = false) { static $autsanscookie = array('install', 'base_repair'); $nom = preg_replace('/.php[3]?$/', '', basename($nom)); return in_array($nom, $autsanscookie); if (in_array($nom, $autsanscookie)) { if (test_espace_prive()){ include_spip('base/connect_sql'); if (!$strict or !spip_connect()){ return true; } } } return false; } /** Chargement en cours
ecrire/index.php +17 −15 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -41,7 +41,7 @@ $reinstall = (!is_null(_request('reinstall'))) ? _request('reinstall') : ($exec // Les scripts d'insallation n'authentifient pas, forcement, // alors il faut blinder les variables d'URL // if (autoriser_sans_cookie($exec)) { if (autoriser_sans_cookie($exec, false)) { if (!isset($reinstall)) { $reinstall = 'non'; } Chargement en cours @@ -64,6 +64,7 @@ $forcer_lang = true; if (_request('action') or _request('var_ajax') or _request('formulaire_action')) { if (!autoriser_sans_cookie($exec)){ // Charger l'aiguilleur qui va mettre sur la bonne voie les traitements derogatoires include_spip('public/aiguiller'); if ( Chargement en cours @@ -79,6 +80,7 @@ if (_request('action') or _request('var_ajax') or _request('formulaire_action')) exit; } // le hit est fini ! } } // securiser les redirect du back-office if (_request('redirect')) { if (!function_exists('securiser_redirect_action')){ Chargement en cours