Approbation des URLs

Cette page explique comment décourager le spam par incorporation de liens dans votre wiki, en utilisant le script urlapprove.php de PmWiki. Ce script est inclu dans les fichiers PmWiki mais n'est pas activé par défaut.

Utiliser urlapprove.php

Les spammers essaient parfois (souvent, même) d'ajouter un grand nombre de liens URL, parfois cachés, car ils escomptent améliorer leur classement dans les moteurs de recherche, ce qui est illusoire, PmWiki ayant un mécanisme pour contrer cela. De surcroit, le script urlapprove.php s'oppose à cette action des spammers en:

  • demandant l'approbation des liens externes avant qu'ils soient incorporés au wiki
  • vous permettant de limiter le nombre de liens pouvant être ajoutés à une page sans approbation

Pour valider urlapprove.php, ajoutez ceci au fichier de configuration:

include_once('scripts/urlapprove.php');

Par défaut, les liens non approuvés affichent ce qui devrait être affiché normalement (l'URL ou un texte), et juste à côté un lien (approuver les sites).

Un clic sur ce lien approuve toutes les URL non approuvées de la page, mais uniquement si vous avez les droits d'écriture dans la page Site.ApprovedUrls (les pages du groupe "site" sont en général réservées à l'administrateur).

Vous pouvez aussi approuver d'avance des URL en les inscrivant dans la page [Site.ApprovedUrls]].

Limiter les URL non approuvées sur une page

Vous pouvez limiter le nombre d'URL non approuvées sur une page. Si cette limite est dépassée, la page ne peut pas être sauvegardée. C'est utile car les spammers écrivent en général de très longues listes d'URL, ce qui est rare pour les auteurs normaux.

Example: Pour instaurer une limite de 5 liens non approuvés, ajoutez ce qui suit au fichier de configuration:

$UnapprovedLinkCountMax = 5;
include_once('scripts/urlapprove.php');

Notez que $UnapprovedLinkCountMax doit être placé avant urlapprove.php.

Gestion des URL non approuvées

Vous pouvez changer le message défini dans la variable $UnapprovedLinkFmt, par example:

include_once('scripts/urlapprove.php');
$UnapprovedLinkFmt =
 "[$[Link requires approval]]<a class='apprlink'
  href='\$PageUrl?action=approvesites'>$[(approve)]</a>";

"Link requires approval" est à remplacer par un texte affiché à la place du lien à approuver, "(approve)" est le texte qui apparait en bleu. Attention, la gestion des accents dans ces variables est problématique. L'usage de cette possiblité est particulièrement utile si vous voulez que le lien non approuvé soit toujours masqué.

Si vous voulez totalement interdire les liens non approuvés, vous pouvez utiliser

$UnapprovedLinkFmt = "<b>Les liens externes ne sont pas autorises</b>";

Particularité du menu SideBar

Notez qu'en général vous devez aller sur la page Sidebar pour approuver les liens, car le mécanisme d'approbation ne fonctionne que pour la page courante.

Configuration initiale

Après la configuration initiale, tous les liens existants deviennent non approuvés.

Pour trouver quelles pages sont affectées, vous pouvez utiliser un flux RSS sur AllRecentChanges.

Astuces techniques

Liste blanche d'URL

Les Urls peuvent aussi être approuvées en les ajoutant à une liste blanche, definie dans la variable $WhiteUrlPatterns, qui est configurée dans le fichier de configuration local/config.php file. Pour ajouter des URL multiples, utilisez le séparateur | (barre verticale). Par exemple

$WhiteUrlPatterns =
  "http://example.com/|http://example.net/|http://example.org/";

Pour ajouter toutes les URl venant, disons, de nouvelle zélande, faire:

$WhiteUrlPatterns[] = 'http://[^/] \\.nz';
$WhiteUrlPatterns[] = 'http://[^/] \\.au';

Changer le nom de la page d'approbation des URL

Si vous voulez changer le nom par défaut Site.ApprovedUrls écrivez dans local/config.php, après le lien d'inclusion du script:

$ApprovedUrlPagesFmt = array('Autregroupe.Autrenom');

En général ce sera (comme toujours, éviter de traduire les noms de page):

array('$DefaultGroup.ApprovedUrls');

Voir l'URL à approuver

Quand le lien n'est pas affiché, il faut éditer la page pour le voir. Une bulle affichant l'URL peut-être affichée quand vous passez le curseur au dessus du lien (approuver les sites). Example

Ajoutez dans local/config.php:

$UnapprovedLinkFmt =
  "\$LinkText<a class='apprlink' href='\$PageUrl?action=approvesites'
   title='\$LinkUrl'>$[(approuver les sites)]</a>";

(c'est la balise title qui fait le travail - le résultat peut dépendre du navigateur)

Voir la page en anglais pour une astuce appliquée à Safari

Concernant rel='nofollow'

Par défaut, PmWiki crée des liens externes qui ne sont pas suivis par les robots. Ici les notes de la version pmwiki-2.0.beta20 (30-Jan-2005):

''D'abord, la variable $UrlLinkFmt a été modifiée de façon que les liens vers des URL externes aient automatiquement l'attribut rel='nofollow' pour aider à combattre le spam comme décrit ici [http://googleblog.blogspot.com/2005/01/preventing-comment-spam.html]]. Les administrateurs peuvent adapter $UrlLinkFmt et $UnapprovedLinkFmt pour fournir ou omettre rel='nofollow' à leur guise.

Voir aussi

  • Blocklist - Bloquer les posts en fonction du contenu ou de l'IP;
  • Security - Assurer la sécurité de votre PmWIki

<< Rechercher les pages | Index doc admin | Fermes Wiki >>


Traduction de PmWiki.UrlApprovals Page originale sur PmWikiFr.UrlApprovals - Référencé par
Dernières modifications:
PmWikiFr.UrlApprovals: 10 September 2011 à 17h40
PmWiki.UrlApprovals: 10 September 2011 à 18h08