[spip-dev] addslashes dans inc-calcul-squel.php3

Coucou,

suite au bug signalé par "thoms"
<http://rezo.net/spip-dev/devel/BUGS/view_bug_page.php?f_id=0000033&gt;

je m'apercois que deux choses sont à corriger par des addslashes pour éviter
de passer des ' pas échappés dans une requête SQL.

- le premier, ligne 419, s'occupe des chaines passees dans le squelette
   exemple {titre=="} le titre contient un guillemet.

- le second, ligne 1638, s'occupe des chaines passees en contexte.
   exemple la boucle "d'autres mots du meme type" quand le type contient
   lui-meme un guillemet

- $where = "$col_table$col$op'$val'";
+ $where = "$col_table$col$op'".addslashes($val)."'";

- while (list($key, $val) = each($contexte)) $$key = $val;
+ while (list($key, $val) = each($contexte)) $$key = addslashes($val);

Seul souci, cette correction de bug va casser d'éventuels squelettes
contenant des expressions régulières du type {xxx==\"} (il faudra
désormais les écrire plus simplement {xxx=="}...)

Squelette de démonstration, un groupe de mots-clés étant intitulé Loyo'la"bi

<BOUCLE_t(MOTS){id_mot}>
#TITRE
<br>#TYPE
<hr>
<BOUCLE_type(MOTS){type}>
#TITRE
</BOUCLE_type>
<hr>
<BOUCLE_type2(MOTS){type=Loyo'la"bi}>
#TITRE
</BOUCLE_type2>
</BOUCLE_t>

From nhoizey@phpheaven.net Fri Jun 28 11:14:14 2002

Return-Path: <nhoizey@phpheaven.net>
Received: from www.clever-age.net (host.126.74.23.62.rev.coltfrance.com
  [62.23.74.126])
  by miel.brainstorm.fr (Postfix) with ESMTP id BEC581BFDA
  for <spip-dev@rezo.net>; Fri, 28 Jun 2002 11:14:13 +0200 (CEST)
Received: from nhoizey (unknown [195.154.180.66])
  by www.clever-age.net (Postfix) with ESMTP id E21401579C
  for <spip-dev@rezo.net>; Fri, 28 Jun 2002 11:08:44 +0200 (CEST)
X-Mailer: The Bat! (v1.53d)
X-Priority: 3 (Normal)
Message-ID: <135345997.20020628111246@phpheaven.net>
In-Reply-To: <3D19FEC9.2040300@rezo.net>
References: <B93DF53A.36A2%manolobimbo@manolobimbo.com>
<1981699033.20020626103216@phpheaven.net>
<20020626115521.A24193@virtual-net.fr>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-BeenThere: spip-dev@rezo.net
X-Mailman-Version: 2.1b2+
Precedence: list
List-Help: <mailto:spip-dev-request@rezo.net?subject=help>
List-Archive: <Discuter chez rezo.net;
List-Unsubscribe: <http://listes.rezo.net/mailman/listinfo/spip-dev&gt;,
  <mailto:spip-dev-request@rezo.net?subject=unsubscribe>
List-Subscribe: <http://listes.rezo.net/mailman/listinfo/spip-dev&gt;,
  <mailto:spip-dev-request@rezo.net?subject=subscribe>
List-Post: <mailto:spip-dev@rezo.net>
List-Id: SPIP : developpement <spip-dev.rezo.net>
X-List-Received-Date: Fri, 28 Jun 2002 09:14:14 -0000
Status: O
Content-Length: 423
Lines: 17

J'ai oublié un +, oui, mais j'aurais plutôt ça :
ereg("^[^@]+@[^@]+\.[^@.]+$", $lien_url)

Il faut quand même interdire les deux-points, sinon tu vas
laisser passer des trucs du genre :

ftp://toto:tototo@macaveamp3.com/

Yes.

-Nicolas