« L’analyse du code source a montré la présence de faillesde type injection de code via une faille de type XSS (Cross Site Scripting) au niveau de l’outil de recherche utilisé sur le site web qui permettait d’injecter des liens vers des adresses contenant des scripts malicieux vers le domaine "imagesoap.com".
Le problème proviendrait de la fonctionnalité "Google Like" qui ne purgerait pas correctement ses entrées.
Merci de ne pas l’utiliser.
Présentation
Cette petite fonctionnalité vous permettra d’afficher les résultats de vos recherches à la manière de Google.
Elle fait appel en partie à PHP pour concaténer tout les éléments de recherche de SPIP.
Il faudra egalement vous assurer que votre PHP est compilé avec la librairie PCRE.
Il l’est par défaut depuis la version 4.2.0.
A l’exception de cela, l’inclusion du script se fait de manière traditionnelle, c’est-à-dire dans "mes_fonctions.php3".

- Recherche de « futur » sur toolinux.com
Le systême a l’avantage d’être insensible à la casse au niveau de la requête mais respecte néanmoins celle-ci lors de l’affichage contextuel.
Mise en place
Dans mes_fonctions.php3 accessible à la racine de votre site (ou à créer si ce n’est pas le cas), ajoutez la fonction suivante :
Sur votre squelette recherche.html, dans votre boucle (ARTICLES), ajoutez le code suivant :
Exemples en ligne
Ce filtre a été développé par Linagora à la demande de la mairie d’Aubervilliers dont voici un exemple d’utilisation en ligne : http://www.aubervilliers.fr/recherc...
Nous l’avons repris lors de la conception du site de toolinux.com : http://www.toolinux.com/recherche.p...
D’autres contributions à SPIP sont disponibles sur notre espace communautaire : http://www.linagora.org/rubrique32.html



Vos commentaires
# Le 28 mai 2007 à 13:34, par redko
En réponse à : Google Like
boujour
cette contrib marche a merveille a part une petite chose :
je veux effectuer un recherche sur un mot présent plusieur fois sur un article
lorque j’effectus une recherche sur ce mot, il ne m’affiche que la parti de l’article ou mon mot est present en premier mais il ne m’affiche pas les autres dans mon resultat
j’espère que j’ai étais clair
merci d’avance
Répondre à ce message
# Le 20 avril 2006 à 12:27, par alinea
En réponse à : Google Like
Bonjour
J’ai développé mon site avec spip1.8.2g et utilisé « google_like » en local : tout fonctionne...Une fois transposé chez ovh, notre hébergeur : « google_like » ne marche pas : je n’obtiens qu’une page blanche...Est-ce que quelqu’un saurait pourquoi ?
Merci
Répondre à ce message
# Le 1er février 2006 à 18:29, par Hugues
En réponse à : Google Like : exclure auteurs
Si je cherche sur ’Jean’ p.ex. la recherche Google-like affiche aussi les articles écrit par Jean, même si le mot Jean n’apparait pas dans le texte de l’article. J’ai pourtant enlevé la boucle auteurs de la squelette. Que faire pour exclure les auteurs de la recherche ?
Répondre à ce message
# Le 2 janvier 2006 à 12:28, par fdot
En réponse à : Google Like - Comportement étrange
Bonjour,
je viens d’installer votre script et ça marche très bien sauf que j’ai deux trucs étrange. Le premier sous IE losqu’il affiche le résultat de la recherche, il surligne les mot recherché dans toute cette page.
Autre trucs étrange si on va sur une des pages trouvées dans la recherche, il surligne bien le mot trouvé, sauf que dans le texte, il surligne uniquement le premier mais pas les autres.
Voila merci d’avance pour votre aide.
Cordialement,
François.
Répondre à ce message
# Le 30 novembre 2005 à 20:56, par Hugues
En réponse à : Google Like : résultats sur plusieurs pages ?
Serait-il possible de présenter les resultats de recherche ’Google like’ sur plusieurs pages, p. ex. avec 10 résultats par page ?
Un peu comme la contrib ci-dessous fait avec des articles ?
(J’ utilise SPIP 1.8.2)
Répondre à ce message
# Le 29 septembre 2005 à 14:09, par oseille
En réponse à : Google Like et les accents
La fonction ne reconnaît pas les lettres accentuées. Par exemple sur le site d’Aubervillers, la recherche sur « ouvrier » interdit les « ouvrières » d’affichage contextuel !
# Le 29 septembre 2005 à 18:00, par fred
En réponse à : Google Like et les accents
Donc la solution c’est... d’enlever les accents !
par :
enlever_accents:bon, c’est pas très joli mais ça marche...
Répondre à ce message
# Le 1er février 2005 à 12:17, par xaccrocheur
En réponse à : > Google Like
Ca marche NICKEL, Merci !!!
C’est vraiment *très* pratique, surtout sur des « grosses » recherches !
Dites, ça m’a permis de découvrir que SPIP n’indéxait pas mes breves, seulement mes articles ! Damned, j’ai cherché une option de configuration de la recherche dans le back-office, et dans le code, mais je n’ai pas trouvé...?
Quelqu’un ici sait-il où on règle ça ? Peut-être n’est-ce pas possible (je n’ose le croire :) ?
Merci !
# Le 2 février 2005 à 01:00, par Paul Sanches
En réponse à : > Google Like
Bien sûr que SPIP indexe les brèves, regardes le squelette par defaut recherche-dist.html de SPIP, il y a bien une boucle pour afficher les brèves trouvées.
Cette page te le confirme aussi :
http://www.spip.net/fr_article996.html
# Le 6 septembre 2005 à 10:55, par ?
En réponse à : > Google Like
Bonjour, je suis débutant sous spip, je viens de mettre en place google-like, cela fonctionne parfaitement pour les recherches sous les articles, en revanche je n’arrive pas à ecrire la boucle qui doit s’insérer dans mon dist/recherche.html pour faire une recherche sur les brèves.
Actuellement j’ai posé ceci :
BOUCLE_breves(BREVES) recherche par points inverse 0,8
...
...
...
/BOUCLE_breves
mais cela ne fais que poser un menu ds ma page.... d’avance merci pour votre aide.
Répondre à ce message
# Le 2 juin 2005 à 21:46, par Pierre
En réponse à : > Google Like
Très beau travail. Mais, est-ce possible d’avoir les résultats en plusieurs pages ? Ça serait très pratique lorsque le résultat donne 50 titres et plus.
Répondre à ce message
# Le 22 mai 2005 à 21:02, par ?
En réponse à : > Google Like
Excellent article qui m’a grandement facilité la vie, merci !
# Le 23 mai 2005 à 16:33, par ?
En réponse à : > Google Like
J’ai essayé le scipt google like, mais je n’ai pas dû le faire convenablement. J’ai crée le fichier mes_fonctions php3 qui j’ai installé sur la racine de mon site et j’ai inséré (mais je ne sais pas si c’était bien au bon endroit le scipt dans recherche.html ! je suis débutant !). Que dois-je faire ? Merci
# Le 31 mai 2005 à 10:05, par ?
En réponse à : > Google Like
J’ai essayé le script de google like, mais ça ne marche pas pour moi. Je viens juste de réaliser que peut-être cela vient de la version de mon php, on me dit qu’il faudra vérifier qu’il est bien complilé avec PCRE, mais je ne m’y entends pas. Pouvez-vous m’aider ?
# Le 2 juin 2005 à 17:47, par tarik
En réponse à : > Google Like
Dis comment tu as fais, parce que moi, j’ai bien crée ce fichier mes_fonctions.php3 avec le script en question auquel j’ai rajouté
<?php au début et?>à la fin. J’ai rajouté le deuxième script dans mon recherche.html juste avant la balise qui ferme ma boucle article, c’est à dire avant ceci :mais cela ne fonctionne pas !!D’avance merci
Répondre à ce message
# Le 25 avril 2005 à 18:01, par ?
En réponse à : > Google Like
un petit add pour couper proprement au premier blanc dans $avant[$i] et au dernier dans $apres[$i]...
function google_like($string){$query = rtrim(str_replace("+", " ", $_GET['recherche']));
$qt = explode(" ", $query);
$num = count ($qt);
$cc = ceil(200 / $num);
for ($i = 0; $i < $num; $i++) {
$tab[$i] = preg_split("/($qt[$i])/i",$string,2, PREG_SPLIT_DELIM_CAPTURE);
if(count($tab[$i])>1){
$avant[$i] = substr($tab[$i][0],-$cc,$cc);
$pos = strpos($avant[$i], " ");
$avant[$i]= substr($avant[$i],$pos);
$apres[$i] = substr($tab[$i][2],0,$cc);
$pos = strrpos($apres[$i], " ");
$apres[$i] = substr($apres[$i],0,$pos);
$string_re .= "<i>[...]</i> $avant[$i]<b>".$tab[$i][1]."</b>$apres[$i] <i>[...]</i> ";
}
}
return $string_re;
}
@+ Nic ;o)
Répondre à ce message