Valider 9645e3c3 rédigé par esj's avatar esj
Parcourir les fichiers

Introduction dans les squelettes {{{prive/rss}}} du contrôle de sécurité, et...

Introduction dans les squelettes {{{prive/rss}}} du contrôle de sécurité, et changement des liens des boutons donnant un flux RSS privé qui appellent à présent directement un squelette ({{{prive/rss.html}}}), et non plus le script {{{action/rss.php}}}. Réécriture de celui-ci, qui accepte toujours les anciens liens et leur communique le résultat attendu malgré ces changements, au prix d'un deuxième contrôle de sécurité. Mais il faudrait évacuer complètement ce script et retourner une redirection définitive, pas triviale car le hash n'est pas le même entre les deux versions.
parent cc6f653c
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+1 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -765,6 +765,7 @@ prive/modeles/text.html -text
prive/modeles/video.html -text
prive/puce_prive.gif -text
prive/puce_prive_rtl.gif -text
prive/rss.html -text
prive/rss/a_suivre.html -text
prive/rss/forums.html -text
prive/rss/forums_interne.html -text
+9 −4
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -12,6 +12,9 @@

if (!defined("_ECRIRE_INC_VERSION")) return;

// Ce script n'est plus utile qu'a la compatibilite avec les liens
// produits par l'ancienne definition de bouton_spip_rss

include_spip('inc/acces');
include_spip('inc/texte'); // utile pour l'espace public, deja fait sinon

@@ -38,7 +41,9 @@ function action_rss_dist()
	if (verifier_low_sec($id, $cle, "rss $op $args")) {
		lang_select($lang);
		$op = str_replace('-', '_', $op);
		$contexte = array('fond' => 'prive/rss/' . $op);
		$contexte = $_REQUEST;
		$contexte['cle'] = afficher_low_sec($id, $op, $args);
		$contexte['fond'] = 'prive/rss/' . $op;
			foreach (split(':', $args) as $bout) {
			list($var, $val) = split('-', $bout, 2);
			$contexte[$var] = $val;
@@ -49,7 +54,7 @@ function action_rss_dist()
	if ($contexte) {
		$r = evaluer_fond ('', $contexte);
		echo $r['texte'];
		$message ="spip_rss s'applique sur " . $contexte['fond'] . " et $args pour $id par $f";
		$message ="spip_rss s'applique sur " . $contexte['fond'] . " et $args pour $id par $f cle " . $contexte['cle'];
	} else 	$message = ("spip_rss sur '$op $args pour $id' incorrect");
	spip_log("$message (" . spip_timer('rss') .')');
	exit;
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -87,7 +87,7 @@ function encours_accueil()
			: '' )
		)
	. $res
	. bouton_spip_rss('a-suivre')
	. bouton_spip_rss('a_suivre')
	. fin_cadre_couleur_foncee(true)
	. "</div>";
}
+7 −6
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -99,6 +99,7 @@ function low_sec($id_auteur) {
// Inclure les arguments significatifs pour le hachage
// cas particulier du statut pour compatibilite ancien suivi_revisions
// http://doc.spip.org/@generer_url_low_sec

function generer_url_low_sec($action, $args, $id_auteur=0, $lang='')
{
	$a = '';
@@ -111,18 +112,18 @@ function generer_url_low_sec($action, $args, $id_auteur=0, $lang='')
			}
		$a = substr($a,1);
	}
	$cle = afficher_low_sec($id_auteur, "rss $action $a");
	return generer_url_action('rss', "$b&cle=$cle&args=$a");
	$cle = afficher_low_sec($id_auteur, $action, $a);
	return generer_url_public("rss", "$b&cle=$cle&args=$a");
}

// http://doc.spip.org/@afficher_low_sec
function afficher_low_sec ($id_auteur, $action='') {
	return substr(md5($action.low_sec($id_auteur)),0,8);
function afficher_low_sec ($id_auteur, $action='', $args='') {
	return substr(md5($action.$args.low_sec($id_auteur)),0,8);
}

// http://doc.spip.org/@verifier_low_sec
function verifier_low_sec ($id_auteur, $cle, $action='') {
	return ($cle == afficher_low_sec($id_auteur, $action));
function verifier_low_sec ($id_auteur, $cle, $action='', $args='') {
	return ($cle == afficher_low_sec($id_auteur, $action, $args));
}

// http://doc.spip.org/@effacer_low_sec
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -16,8 +16,8 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 // Ce fichier calcule une page en executant un squelette.
//

include_spip('base/abstract_sql');
include_spip('inc/lang');
include_spip('inc/acces');

// NB: Ce fichier peut initialiser $dossier_squelettes (old-style)
// donc il faut l'inclure "en globals"
Chargement en cours