Le wiki Spam
Le WikiSpam signifie généralement tout contenu posté sur un wiki avec l'unique motif d'accroître un PageRank d'un site externe, mais le terme peut aussi s'appliquer à tout contenu posté qui est trivialement non approprié pour le site ainsi qu'au vandalisme.
Il existe 2 sortes de spam: automatiques et manuels.
Protections installées
Wikilu possède nativement un système montrant les changements récents et permet de restaurer les anciennes versions. Les spams peuvent donc aisément être supprimés.
De plus les pages de cet historique ne seront pas indexées par les moteurs de recherche.
Mais préférant prévenir plutôt que de devoir guérir, plusieurs dispositifs anti-spam ont étés incorporés à Wikilu. Ils sont activés ou peuvent être activées à tout moment. Ces dispositifs sont:
- verrouillage de certaines pages importantes comme le menu et la page d'accueil.
- verrouillage des pages contenant des liens extérieurs (ce dispositif est installé mais n'est normalement pas activé).
- Un CAPTCHA ne pénalisant pas l'utilisateur, par nombre magique dans des champs cachés, valables seulement pendant un certain temps, par exemple 15 min.
- Un autra CAPTCHA sans image, par raisonnement simple.
- Les sessions qui doivent exister préalablement à l'ouverture des pages en modes édition ou en historique.
- Une limite au nombre de pages mises à jour dans un temps donné pour une adresse IP donnée, par exemple 5 pages par adresse IP dans l'heure.
- Une limite au nombre d'adresses IP effectuant des mises à jour dans un temps donné, par exemple 3 adresses IP dans l'heure.
- Une limite au nombre de mises à jour dans un temps donné indépendament de l'adresse IP et de la page, par exemple 20 mises à jour dans l'heure .
- Un délai entre deux mises à jour successives, par exemple 30 secondes, représentant le temps minimum d'édition d'une page.
Ces limites et délais ne bloquent pas tous les mises à jour mais provoquent une demande d'authentification HTTP.
Protections facile à ajouter
D'autres dispositifs pourraient être facilement ajoutés:
- Tenir une liste blanche et une liste noire pour les liens, tout nouveau lien entrant provisoirement dans une liste grise. Les pages contenant des liens de la liste blanche sont traitées normalement, celles contenant des liens de la liste noire ne sont pas sauvegardées, celles contenant des liens de la liste grise sont sauvegardées mais le lien n'est pas transformé en url.
- Une liste noire et une liste blanche d'adresses IP ou de classes d'adresses IP.
- Une liste de mots interdits.
Protections inadaptées
Certains dispositifs me semblent inadaptés ou peu utiles et ne seront pas adoptés:
- Ajouter un
"rel nofollow" aux liens externes. Par exemple, a href="http://www.something.com">link</a> devient <a href="http://www.something.com" rel="nofollow">link</a>
- Un CAPTCHA par image brouillée.
Protection contre les failles XSS
Afin de se prémunir contre les failles XSS (Cross Side Scripting), certains codes (macro html, inline html et longs inline d'attributs, include, process redirect, head, include, filte, repl, ainsi que les liens contenant du javascript) ne peuvent être ajoutés ou modifiés qu'après authentification HTTP. Cette authentification n'est pas nécessaire tant que les modifications de page ne modifient ou n'ajoutent pas ces codes.