OwlCyberSecurity - MANAGER
Edit File: cookie.php.tar
home/bourgleram/www/ecrire/action/cookie.php 0000705 00000006460 15252560215 0015176 0 ustar 00 <?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2016 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ if (!defined('_ECRIRE_INC_VERSION')) return; include_spip('inc/actions'); include_spip('inc/cookie'); // http://doc.spip.org/@action_cookie_dist function action_cookie_dist($set_cookie_admin=null, $change_session = null) { $redirect_echec = $redirect = null; $test_echec_cookie = null; $url = ""; if (is_null($set_cookie_admin)){ $set_cookie_admin = _request('cookie_admin'); $change_session = _request('change_session'); $test_echec_cookie = _request('test_echec_cookie'); // La cible de notre operation de connexion $url = securiser_redirect_action(_request('url')); $redirect = $url ? $url : generer_url_ecrire('accueil'); $redirect_echec = _request('url_echec'); if (!isset($redirect_echec)) { if (strpos($redirect,_DIR_RESTREINT_ABS)!==false) $redirect_echec = generer_url_public('login','',true); else $redirect_echec = $redirect; } } // rejoue le cookie pour renouveler spip_session if ($change_session == 'oui') { $session = charger_fonction('session', 'inc'); $session(true); spip_log("statut 204 pour " . $_SERVER['REQUEST_URI']); http_status(204); // No Content return; } // tentative de connexion en auth_http if (_request('essai_auth_http') AND !$GLOBALS['ignore_auth_http']) { include_spip('inc/auth'); if (@$_SERVER['PHP_AUTH_USER'] AND @$_SERVER['PHP_AUTH_PW'] AND $auteur = lire_php_auth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])){ auth_loger($auteur); redirige_par_entete(parametre_url($redirect,'t',time(),'&')); } else { ask_php_auth(_T('info_connexion_refusee'), _T('login_login_pass_incorrect'), _T('login_retour_site'), "url=".rawurlencode($redirect), _T('login_nouvelle_tentative'), (strpos($url,_DIR_RESTREINT_ABS)!==false)); } } else { // en cas de login sur bonjour=oui, on tente de poser un cookie // puis de passer au login qui diagnostiquera l'echec de cookie // le cas echeant. if ($test_echec_cookie == 'oui') { spip_setcookie('spip_session', 'test_echec_cookie'); if ($redirect) $redirect = parametre_url(parametre_url($redirect_echec,'var_echec_cookie','oui','&'),'url',rawurlencode($redirect),'&'); } else { $cook = isset($_COOKIE['spip_admin']) ? $_COOKIE['spip_admin'] : ''; // Suppression cookie d'admin ? if ($set_cookie_admin == "non") { if ($cook) spip_setcookie('spip_admin', $cook, time() - 3600 * 24); } // Ajout de cookie d'admin else if ($set_cookie_admin) { spip_setcookie('spip_admin', $set_cookie_admin, time() + 14 * 24 * 3600); } } } // Redirection finale if ($redirect) redirige_par_entete($redirect, true); } ?> home/bourgleram/www/ecrire/inc/cookie.php 0000705 00000006075 15252561323 0014475 0 ustar 00 <?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2016 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ if (!defined('_ECRIRE_INC_VERSION')) return; // // Appliquer le prefixe cookie // // http://doc.spip.org/@spip_setcookie function spip_setcookie ($name='', $value='', $expire=0, $path='AUTO', $domain='', $secure='') { // liste des cookies en httponly (a passer en define si besoin) $httponly = in_array($name, explode(' ', 'spip_session')); $name = preg_replace ('/^spip_/', $GLOBALS['cookie_prefix'].'_', $name); if ($path == 'AUTO') $path = defined('_COOKIE_PATH')?_COOKIE_PATH:preg_replace(',^\w+://[^/]*,', '', url_de_base()); if (!$domain AND defined('_COOKIE_DOMAIN')) $domain = _COOKIE_DOMAIN; #spip_log("cookie('$name', '$value', '$expire', '$path', '$domain', '$secure', '$httponly'"); $a = ($httponly AND strnatcmp(phpversion(),'5.2.0') >= 0) ? @setcookie ($name, $value, $expire, $path, $domain, $secure, $httponly) : ($secure ? @setcookie ($name, $value, $expire, $path, $domain, $secure) : ($domain ? @setcookie ($name, $value, $expire, $path, $domain) : ($path ? @setcookie ($name, $value, $expire, $path) : ($expire ? @setcookie ($name, $value, $expire) : @setcookie ($name, $value) )))); spip_cookie_envoye(true); return $a; } function spip_cookie_envoye($set = '') { static $envoye = false; if($set) $envoye = true; return $envoye; } // http://doc.spip.org/@recuperer_cookies_spip function recuperer_cookies_spip($cookie_prefix) { $prefix_long = strlen($cookie_prefix); foreach ($_COOKIE as $name => $value) { if (substr($name,0,5)=='spip_' && substr($name,0,$prefix_long)!=$cookie_prefix) { unset($_COOKIE[$name]); unset($GLOBALS[$name]); } } foreach ($_COOKIE as $name => $value) { if (substr($name,0,$prefix_long)==$cookie_prefix) { $spipname = preg_replace ('/^'.$cookie_prefix.'_/', 'spip_', $name); $_COOKIE[$spipname] = $value; $GLOBALS[$spipname] = $value; } } } // Idem faudrait creer exec/test_ajax, mais c'est si court. // Tester si Ajax fonctionne pour ce brouteur // (si on arrive la c'est que c'est bon, donc poser le cookie) // http://doc.spip.org/@exec_test_ajax_dist function exec_test_ajax_dist() { switch (_request('js')) { // on est appele par <noscript> case -1: spip_setcookie('spip_accepte_ajax', -1); include_spip('inc/headers'); redirige_par_entete(chemin_image('puce-orange-anim.gif')); break; // ou par ajax case 1: default: spip_setcookie('spip_accepte_ajax', 1); break; } } ?>