Salut,
on rencontre un somprtement bizarre lors ce qu'on envoie le contenu (vide) d'un formulaire de recherche à une boucle de recherche qui contient une expression reguliere. Voici le message d'erreur:
<BOUCLE_artikelsuche>(articles)
MySQL-Fehler
RAND() AS hasard, articles.id_article, articles.titre, articles.date_redac, articles.chapo, articles.descriptif, articles.texte, articles.id_rubrique, articles.lang FROM spip_articles AS `articles` WHERE (articles.id_rubrique = '31') AND (articles.texte REGEXP '') AND ((articles.id_rubrique NOT IN (81,84))) AND (articles.statut = "publie") ORDER BY articles.date_redac
Got error 'empty (sub)expression' from regexp
</BOUCLE_artikelsuche>
Le code de la boucle de recherche est le suivant:
<BOUCLE_artikelsuche(ARTICLES){id_rubrique=31}{texte==#RECHERCHE}{par #ENV{tri}}{pagination}>
#TITRE etc. <br />
</BOUCLE_artikelsuche>
Comme vous pouvez constater on compare le contenu de #RECHERCHE au texte afin de localiser l'existence de phrases (string) entieres. Dès qu'on remplit le formulaire ca marche bien. Seulement quand on laisse le champ d'entrée completement vide l'erreur se produit.
Voici l'URL de la page qui contient le formulaire de recherche:
http://www.iris-media.info/spip.php?article2326
Deux choses m'inquiètent:
- Dans une premiere version de la boucle il n'y a vait pas ce problème.
- Puisqu'on peut utiliser des expressions regulières dans la recherche je me demande, s'il n'est pas possible d'abuser de la boucle pour provoquer ces fameuses "buffer overflow" et "sql injections".
Vous avez une idée?
Merci, klaus++