Skip to content
Extraits de code Groupes Projets
Valider 1a7e1ece rédigé par Fil's avatar Fil
Parcourir les fichiers

poser les cookies a la racine du site

afficher le message erreur de mot de passe meme pour une autre langue que celle du site (c'etait casse)
passe l'alea par defaut a 12h, et supprime la case de 'rester connecte' si c'est inferieur
parent dfa1ede7
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -47,9 +47,11 @@ document.write("<p><:login_login:>&nbsp;<strong>[(#ENV{login_alt})]<" + "/strong ...@@ -47,9 +47,11 @@ document.write("<p><:login_login:>&nbsp;<strong>[(#ENV{login_alt})]<" + "/strong
<p><label[ for="var_login_(#ENV{login})"]><:login_pass2:></label><br /> <p><label[ for="var_login_(#ENV{login})"]><:login_pass2:></label><br />
<input type="password" class="forml" name="session_password"[ id="var_login_(#ENV{login})"] value="" size="20" /></p> <input type="password" class="forml" name="session_password"[ id="var_login_(#ENV{login})"] value="" size="20" /></p>
[(#ENV{rester_connecte})
<p><input type="checkbox" name="session_remember" id="session[_(#ENV{login})]" value="oui"[(#ENV*{prefs}|filtre_rester_connecte)checked="checked"]/> <p><input type="checkbox" name="session_remember" id="session[_(#ENV{login})]" value="oui"[(#ENV*{prefs}|filtre_rester_connecte)checked="checked"]/>
<label for="session[_(#ENV{login})]"><:login_rester_identifie:></label></p> <label for="session[_(#ENV{login})]"><:login_rester_identifie:></label></p>
]
<input type="hidden" name="session_password_md5" value="" /> <input type="hidden" name="session_password_md5" value="" />
<input type="hidden" name="next_session_password_md5" value="" /> <input type="hidden" name="next_session_password_md5" value="" />
<input type="hidden" name="essai_login" value="oui" /> <input type="hidden" name="essai_login" value="oui" />
......
...@@ -31,10 +31,11 @@ function action_converser_dist() ...@@ -31,10 +31,11 @@ function action_converser_dist()
$GLOBALS['auteur_session']['lang'] = $lang; $GLOBALS['auteur_session']['lang'] = $lang;
$session = charger_fonction('session', 'inc'); $session = charger_fonction('session', 'inc');
if ($spip_session = $session($GLOBALS['auteur_session'])) { if ($spip_session = $session($GLOBALS['auteur_session'])) {
preg_match(',^[^/]*//[^/]*(.*)/$,', spip_setcookie(
url_de_base(), 'spip_session',
$r); $spip_session,
spip_setcookie('spip_session', $spip_session, time() + 3600 * 24 * 14, $r[1]); time() + 3600 * 24 * 14
);
} }
} }
action_converser_post($lang, 'spip_lang_ecrire'); action_converser_post($lang, 'spip_lang_ecrire');
......
...@@ -70,7 +70,8 @@ function action_cookie_dist() { ...@@ -70,7 +70,8 @@ function action_cookie_dist() {
if (strpos($redirect,_DIR_RESTREINT_ABS)!==false) if (strpos($redirect,_DIR_RESTREINT_ABS)!==false)
$redirect = generer_url_public('login', $redirect = generer_url_public('login',
"var_login=$session_login", true); "var_login=$session_login", true);
if (_request('session_password') OR _request('session_password_md5')) if (_request('session_password')
OR _request('session_password_md5'))
$redirect = parametre_url($redirect, 'var_erreur', 'pass', '&'); $redirect = parametre_url($redirect, 'var_erreur', 'pass', '&');
$redirect .= '&url=' . rawurlencode($url); $redirect .= '&url=' . rawurlencode($url);
spip_log("echec login: $session_login"); spip_log("echec login: $session_login");
......
...@@ -98,7 +98,7 @@ function login_pour_tous($login, $cible, $action) { ...@@ -98,7 +98,7 @@ function login_pour_tous($login, $cible, $action) {
$echec_visiteur = _request('var_echec_visiteur')?' ':''; $echec_visiteur = _request('var_echec_visiteur')?' ':'';
$pose_cookie = generer_url_public('spip_cookie'); $pose_cookie = generer_url_action('cookie');
$auth_http = ''; $auth_http = '';
if ($echec_cookie AND !$ignore_auth_http) { if ($echec_cookie AND !$ignore_auth_http) {
if (($GLOBALS['flag_sapi_name'] if (($GLOBALS['flag_sapi_name']
...@@ -151,6 +151,10 @@ function login_pour_tous($login, $cible, $action) { ...@@ -151,6 +151,10 @@ function login_pour_tous($login, $cible, $action) {
if (_request('var_erreur') == 'pass') if (_request('var_erreur') == 'pass')
$erreur = _T('login_erreur_pass'); $erreur = _T('login_erreur_pass');
// Ne pas proposer de "rester connecte quelques jours"
// si la duree de l'alea est inferieure a 12 h (valeur par defaut)
$rester_connecte = (_RENOUVELLE_ALEA < 12*3600) ? '' : ' ';
// Appeler le squelette formulaire_login // Appeler le squelette formulaire_login
return array('formulaires/login', $GLOBALS['delais'], return array('formulaires/login', $GLOBALS['delais'],
array_merge( array_merge(
...@@ -165,7 +169,8 @@ function login_pour_tous($login, $cible, $action) { ...@@ -165,7 +169,8 @@ function login_pour_tous($login, $cible, $action) {
'echec_visiteur' => $echec_visiteur, 'echec_visiteur' => $echec_visiteur,
'login' => $login, 'login' => $login,
'login_alt' => (isset($login_alt) ? $login_alt : $login), 'login_alt' => (isset($login_alt) ? $login_alt : $login),
'self' => str_replace('&amp;', '&', self()) 'self' => str_replace('&amp;', '&', self()),
'rester_connecte' => $rester_connecte
) )
) )
); );
......
...@@ -191,7 +191,7 @@ function colonne_droite_neq4($id_rubrique, $activer_breves, $activer_sites, $art ...@@ -191,7 +191,7 @@ function colonne_droite_neq4($id_rubrique, $activer_breves, $activer_sites, $art
if (!@$_COOKIE['spip_admin']) { if (!@$_COOKIE['spip_admin']) {
$cookie = rawurlencode("@$connect_login"); $cookie = rawurlencode("@$connect_login");
$retour = rawurlencode(_DIR_RESTREINT_ABS . _SPIP_ECRIRE_SCRIPT); $retour = rawurlencode(_DIR_RESTREINT_ABS . _SPIP_ECRIRE_SCRIPT);
$lien = generer_url_public('spip_cookie', "cookie_admin=$cookie&url=$retour"); $lien = generer_url_action('cookie', "cookie_admin=$cookie&url=$retour");
$gadget .= "<div>&nbsp;</div>". $gadget .= "<div>&nbsp;</div>".
"<table width='95%'><tr>". "<table width='95%'><tr>".
"<td style='width: 100%'>". "<td style='width: 100%'>".
...@@ -248,7 +248,7 @@ function personnel_accueil($coockcookie) ...@@ -248,7 +248,7 @@ function personnel_accueil($coockcookie)
// //
if ($coockcookie) { if ($coockcookie) {
$lien = generer_url_public("spip_cookie", "cookie_admin=non&url=".rawurlencode(_DIR_RESTREINT_ABS . _SPIP_ECRIRE_SCRIPT)); $lien = generer_url_action('cookie', "cookie_admin=non&url=".rawurlencode(_DIR_RESTREINT_ABS . _SPIP_ECRIRE_SCRIPT));
$t = _T('icone_supprimer_cookie'); $t = _T('icone_supprimer_cookie');
$t = icone_horizontale($t, $lien, "cookie-24.gif", "", false); $t = icone_horizontale($t, $lien, "cookie-24.gif", "", false);
if ($GLOBALS['spip_display'] != 1) if ($GLOBALS['spip_display'] != 1)
......
...@@ -299,7 +299,7 @@ function ask_php_auth($pb, $raison, $retour, $url='', $re='', $lien='') { ...@@ -299,7 +299,7 @@ function ask_php_auth($pb, $raison, $retour, $url='', $re='', $lien='') {
$ici = generer_url_ecrire(); $ici = generer_url_ecrire();
echo "<b>$pb</b><p>$raison</p>[<a href='$ici'>$retour</a>] "; echo "<b>$pb</b><p>$raison</p>[<a href='$ici'>$retour</a>] ";
if ($url) { if ($url) {
echo "[<a href='", generer_url_public('spip_cookie',"essai_auth_http=oui&$url"), "'>$re</a>]"; echo "[<a href='", generer_url_action('cookie',"essai_auth_http=oui&$url"), "'>$re</a>]";
} }
if ($lien) if ($lien)
......
...@@ -171,12 +171,11 @@ function inc_auth_dist() { ...@@ -171,12 +171,11 @@ function inc_auth_dist() {
$session = charger_fonction('session', 'inc'); $session = charger_fonction('session', 'inc');
if ($spip_session = $session($row)) { if ($spip_session = $session($row)) {
include_spip('inc/cookie'); include_spip('inc/cookie');
preg_match(',^[^/]*//[^/]*(.*)/$,', spip_setcookie(
url_de_base(), 'spip_session',
$r);
spip_setcookie('spip_session',
$_COOKIE['spip_session'] = $spip_session, $_COOKIE['spip_session'] = $spip_session,
time() + 3600 * 24 * 14, $r[1]); time() + 3600 * 24 * 14
);
} }
} }
......
...@@ -82,11 +82,6 @@ function init_config() { ...@@ -82,11 +82,6 @@ function init_config() {
$modifs = true; $modifs = true;
} }
/*if (isset($GLOBALS['meta']['nouvelle_install']) && $GLOBALS['meta']['nouvelle_install'] == 'oui') {
effacer_meta('nouvelle_install');
$modifs = true;
}*/
if ($modifs) ecrire_metas(); if ($modifs) ecrire_metas();
include_spip('inc/rubriques'); include_spip('inc/rubriques');
......
...@@ -18,7 +18,10 @@ if (!defined("_ECRIRE_INC_VERSION")) return; ...@@ -18,7 +18,10 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
// http://doc.spip.org/@spip_setcookie // http://doc.spip.org/@spip_setcookie
function spip_setcookie ($name='', $value='', $expire=0, $path='AUTO', $domain='', $secure='') { function spip_setcookie ($name='', $value='', $expire=0, $path='AUTO', $domain='', $secure='') {
$name = preg_replace ('/^spip_/', $GLOBALS['cookie_prefix'].'_', $name); $name = preg_replace ('/^spip_/', $GLOBALS['cookie_prefix'].'_', $name);
if ($path == 'AUTO') $path=$GLOBALS['cookie_path']; if ($path == 'AUTO')
$path = preg_replace(',^\w+://[^/]*,', '', url_de_base());
spip_log("path cookie = $path");
if ($secure) if ($secure)
@setcookie ($name, $value, $expire, $path, $domain, $secure); @setcookie ($name, $value, $expire, $path, $domain, $secure);
......
...@@ -203,8 +203,11 @@ function verifier_lang_url() { ...@@ -203,8 +203,11 @@ function verifier_lang_url() {
AND changer_langue($lang_demandee) AND changer_langue($lang_demandee)
AND $lang_demandee != @$_GET['lang']) { AND $lang_demandee != @$_GET['lang']) {
$destination = parametre_url(self(),'lang', $lang_demandee, '&'); $destination = parametre_url(self(),'lang', $lang_demandee, '&');
if (isset($GLOBALS['var_mode'])) // ici on a besoin des var_truc
$destination = parametre_url($destination, 'var_mode', $GLOBALS['var_mode'], '&'); foreach ($_GET as $var => $val) {
if (!strncmp('var_', $var, 4))
$destination = parametre_url($destination, $var, $val, '&');
}
include_spip('inc/headers'); include_spip('inc/headers');
redirige_par_entete($destination); redirige_par_entete($destination);
} }
......
...@@ -69,11 +69,11 @@ function ajouter_session($auteur) { ...@@ -69,11 +69,11 @@ function ajouter_session($auteur) {
redirige_par_entete(generer_test_dirs(_DIR_SESSIONS,true)); redirige_par_entete(generer_test_dirs(_DIR_SESSIONS,true));
} else { } else {
include_spip('inc/cookie'); include_spip('inc/cookie');
preg_match(',^[^/]*//[^/]*(.*)/.*/$,', url_de_base(), $r); spip_setcookie(
'spip_session',
spip_setcookie('spip_session', $_COOKIE['spip_session'], $_COOKIE['spip_session'],
time() + 20 * _RENOUVELLE_ALEA, time() + 20 * _RENOUVELLE_ALEA
$r[1]); );
spip_log("ajoute session $fichier_session"); spip_log("ajoute session $fichier_session");
return $_COOKIE['spip_session']; return $_COOKIE['spip_session'];
} }
......
...@@ -1247,7 +1247,7 @@ function spip_initialisation($pi=NULL, $pa=NULL, $ti=NULL, $ta=NULL) { ...@@ -1247,7 +1247,7 @@ function spip_initialisation($pi=NULL, $pa=NULL, $ti=NULL, $ta=NULL) {
include_once _DIR_RESTREINT . 'inc/flock.php'; include_once _DIR_RESTREINT . 'inc/flock.php';
// Duree de validite de l'alea pour les cookies et ce qui s'ensuit. // Duree de validite de l'alea pour les cookies et ce qui s'ensuit.
define('_RENOUVELLE_ALEA', 4 * 3600); define('_RENOUVELLE_ALEA', 12 * 3600);
// Lire les meta cachees et init noyau (espace public uniquement) // Lire les meta cachees et init noyau (espace public uniquement)
......
...@@ -93,10 +93,9 @@ $taille_des_logs = 100; ...@@ -93,10 +93,9 @@ $taille_des_logs = 100;
// (a modifier pour avoir plusieurs sites SPIP dans une seule base) // (a modifier pour avoir plusieurs sites SPIP dans une seule base)
$table_prefix = "spip"; $table_prefix = "spip";
// Prefixe et chemin des cookies // Prefixe des cookies
// (a modifier pour installer des sites SPIP dans des sous-repertoires) // (a modifier pour installer des sites SPIP dans des sous-repertoires)
$cookie_prefix = "spip"; $cookie_prefix = "spip";
$cookie_path = "";
// Dossier des squelettes // Dossier des squelettes
// (a modifier si l'on veut passer rapidement d'un jeu de squelettes a un autre) // (a modifier si l'on veut passer rapidement d'un jeu de squelettes a un autre)
......
...@@ -24,10 +24,7 @@ if ($auth) { ...@@ -24,10 +24,7 @@ if ($auth) {
include_spip('inc/headers'); include_spip('inc/headers');
if ($auth == '6forum') { if ($auth == '6forum') {
$auth = '../?' . $_SERVER['QUERY_STRING']; $auth = '../?' . $_SERVER['QUERY_STRING'];
preg_match(',^[^/]*//[^/]*(.*)/.*/$,', spip_setcookie('spip_session', $_COOKIE['spip_session'], time() + 3600 * 24 * 14);
url_de_base(),
$r);
spip_setcookie('spip_session', $_COOKIE['spip_session'], time() + 3600 * 24 * 14, $r[1]);
} else } else
$auth = generer_url_public('login', $auth = generer_url_public('login',
"url=" . "url=" .
......
...@@ -60,7 +60,8 @@ if (defined('_INC_PUBLIC')) { ...@@ -60,7 +60,8 @@ if (defined('_INC_PUBLIC')) {
redirige_par_entete(urldecode($redirect)); redirige_par_entete(urldecode($redirect));
else if (!headers_sent()) { else if (!headers_sent()) {
http_status(204); http_status(204);
spip_log("action $action renvoie status 204"); # trop verbeux : chaque cron() provoque un 204
# spip_log("action $action renvoie status 204");
} else { } else {
spip_log("action $action renvoie du contenu"); spip_log("action $action renvoie du contenu");
} }
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter