From b3d2223f6cf68dfaf00273db1925fa0dd5b47aeb Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Tue, 10 Jan 2006 14:23:34 +0000
Subject: [PATCH] fonctionnalisation de ce script. Je n'ai pas vu l'interet
 d'appeler verifier_visiteur en ingorant le resultat, et j'ai donc supprime;
 en revanche j'ai bien vu l'interet de rajouter 8 anti-XSS illico.

---
 spip_redirect.php3 | 32 +++++++++++++++-----------------
 1 file changed, 15 insertions(+), 17 deletions(-)

diff --git a/spip_redirect.php3 b/spip_redirect.php3
index 48d7c7bf81..61ad160495 100644
--- a/spip_redirect.php3
+++ b/spip_redirect.php3
@@ -15,44 +15,42 @@
 
 define ('_SPIP_REDIRECT', 1);
 include ("ecrire/inc_version.php3");
-include_ecrire ("inc_session");
-verifier_visiteur();
 charger_generer_url();
 
-if ($id_article) {
+function spip_action_redirect_dist()
+{
+  global $id_article, $id_auteur, $id_breve, $id_forum, $id_mot, $id_rubrique, $id_site, $id_syndic, $var_mode;
+
+
+  if ($id_article = intval($id_article)) {
 	$url = generer_url_article($id_article);
 }
-else if ($id_breve) {
+  else if ($id_breve = intval($id_breve)) {
 	$url = generer_url_breve($id_breve);
 }
-else if ($id_forum) {
+  else if ($id_forum = intval($id_forum)) {
 	$url = generer_url_forum($id_forum);
 }
-else if ($id_rubrique) {
+  else if ($id_rubrique = intval($id_rubrique)) {
 	$url = generer_url_rubrique($id_rubrique);
 }
-else if ($id_mot) {
+  else if ($id_mot = intval($id_mot)) {
 	$url = generer_url_mot($id_mot);
 }
-else if ($id_auteur) {
+  else if ($id_auteur = intval($id_auteur)) {
 	$url = generer_url_auteur($id_auteur);
 }
-else if ($id_syndic OR $id_syndic = $id_site) {
+  else if ($id_syndic = intval($id_syndic) OR $id_syndic = intval($id_site)) {
 	$url = generer_url_site($id_syndic);
 }
 else {
 	$url = _DIR_RESTREINT_ABS;
 }
-if (strpos($url,'?')) {
-	$super='&';
-}
-else {
-	$super='?';
-}
-if ($var_mode) $url .= $super."var_mode=$var_mode";
 
 // Ne pas masquer cette eventuelle erreur (aide a detecter des lignes vides
 // dans inc-urls ou mes_fonctions/mes_options)
-header("Location: $url");
+ header("Location: " . (!$var_mode ?  $url : ($url . (strpos($url,'?') ? '&' : '?') ."var_mode=" . $var_mode)));
+}
 
+spip_action_redirect_dist();
 ?>
-- 
GitLab