Diese Seite erklärt, wie Sie "Link-Spammer" auf Ihrer Wikisite entmutigen können, indem Sie PmWikis urlapproval.php-Skript verwenden. Dieses Skript ist bereits in den PmWiki-Dateien enthalten, aber es ist in der Standardeinstellung noch nicht aktiviert.
Gelegentliche Spammer könnten versuchen, in Wikiseiten lange Listen mit (manchmal versteckten) URLs hinzuzufügen, weil sie glauben, dass könnte ihr Suchmaschinenranking erhöhen — was es möglicherweise nicht tut. Das urlapproval.php-Skript arbeitet gegen dieser Spammer Absichten durch
Um das urlapproval.php-Skript zu aktivieren, fügt man die folgende Zeile in die Konfigurationsdatei ein:
include_once("$FarmD/scripts/urlapprove.php");
Im Standard wird für die nicht freigegebenen Verweise dargestellt, was halt dargestellt werden sollte (die URL oder ein Text), aber es wird kein Verweis erzeugt, aber gleich dahinter dieses(approve links). Ein Klick auf den Verweis gibt alle nicht freigegebenen Verweise auf der Seite frei, aber nur, wenn Sie authorisiert sind, die SiteAdmin.ApprovedUrls-Seite zu bearbeiten. Sie können Sites auch im Voraus freigeben, indem Sie sie direkt in die SiteAdmin.ApprovedUrls-Seite? eintragen.
Man kann die Zahl der nicht freigegebenen Verweise pro Seite begrenzen. Wenn die Grenze überschritten wird, kann die Seite nicht gespeichert werden. Das ist nützlich, weil Spammer gewöhnlich lange Listen von Verweisen einfügen, was bei normalen Autoren kaum vorkommt.
Beispiel: Um die Grenze auf fünf nicht freigegebene Verweise zu setzen, fügt man die folgende Zeile zur Konfigurationsdatei hinzu:
$UnapprovedLinkCountMax = 5;
include_once('scripts/urlapprove.php');
Anmerkung: $UnapprovedLinkCountMax muss gesetzt werden, bevor das urlapproval.php-Skript eingefügt wird.
Man kann auch die Meldung zum Versagen der Freigabe, definiert in der $UnapprovedLinkFmt-Variablen, ändern. Zum Beispiel:
include_once('scripts/urlapprove.php'); $UnapprovedLinkFmt = "[$[Link requires approval]]<a class='apprlink' href='\$PageUrl?action=approvesites'>$[(approve)]</a>";
"Link requires approval" ist dabei der Text, der anstelle des nicht freigegebenen Verweises erscheinen soll und "approve" der blaue Text. Dieses Feature zu nutzen kann sich als nützlich erweisen, wenn man den nicht freigegebenen Verweis verbergen möchte.
Wenn man nicht freigegebene Verweise total verbieten will, kann man dies benutzen:
$UnapprovedLinkFmt = "<b>external link not allowed</b>";
Bedenken Sie, dass Sie im Allgemeinen in die SideBar-, Header- oder Footer-Seite gehen müssen, wenn Sie Verweise darin freigeben wollen. Wenn Seiten oder Abschnitte mit nicht freigegebenen Verweisen in andere Seiten eingefügt werden oder mittels Seitenlisten oder einer SeitenTextVariable übertragen werden, müssten Sie die Verweise in den Originalseiten freigeben. Das liegt daran, dass der Freigabe-Mechanismus Verweise nur in der aktuellen Seite freigibt.
Nach der anfänglichen Aktivierung ist kein Verweise freigegeben. Man muss also alle Seiten einmal besuchen und alle Verweise darin freigeben, wo das nötig ist. Siehe AllRecentChanges wegen einer Liste aller Seiten, die in der Wikisite angelegt worden sind.
Um externe Verweise freigeben zu können, braucht man das Bearbeiten-Recht für die SiteAdmin.ApprovedUrls-Seite?.
URLs können auch freigegeben werden, indem man sie in eine "Whitelist" einträgt, die in der Variablen $WhiteUrlPatterns definiert wird (wird in die local/config.php eingetragen).
$WhiteUrlPatterns = "(http://example.com|http://example.net|http://example.org|http://beispiel.de)";
Um alle URLs von sagen wir Neuseeland und Australien hinzuzufügen, benutzt man:
$WhiteUrlPatterns[] = 'http://[^/]+\\.nz'; $WhiteUrlPatterns[] = 'http://[^/]+\\.au';
Wenn man den Standardnamen für die Seite mit den freigegebenen Verweisen SiteAdmin.ApprovedUrls ändern möchten, setzt man das Folgende in local/config.php:
$ApprovedUrlPagesFmt = array('OtherGroup.OtherName');
Wenn man sehen möchte, welcher Verweis freizugeben ist ohne die Seite zu bearbeiten, kann ein Tooltip angezeigt werden, der erscheint, wenn man mit der Maus über den den (approve links)-Verweis geht, und der den URL anzeigt, z. B. Example.
Man fügt die folgende Einstellung in die local/config.php ein:
$UnapprovedLinkFmt = "\$LinkText<a class='apprlink' href='\$PageUrl?action=approvesites' title='\$LinkUrl'>$[(approve links)]</a>";
Manche Browser zeigen nur den Verweis und nicht den Tooltiptitle, in dem Falle kann man den folgenden Kode einsetzen, um den nichtgeprüften Verweis am Ende des Tooltips zu sehen.
$UnapprovedLinkFmt = "\$LinkText<a class='apprlink' href='\$PageUrl?action=approvesites&XES_url=\$LinkUrl' title='\$LinkUrl'>$[(approve sites)]</a>";
Im Standard erzeugt PmWiki externe Verweise, denen Suchmaschinen nicht folgen. Hier sind die Releasenotes von PmWiki 2.2.9beata20 (30-Jan-2005) (übersetzt):
$UrlLinkFmt
-Variable modifiziert worden, so dass Verweise zu extenen URLs automatisch ein rel='nofollow'-Attribut eingefügt bekommen, um zu helfen, Wiki-Spam zu bekämpfen wie er in http://googleblog.blogspot.com/2005/01/preventing-comment-spam.html beschrieben wird. Site Administratoren können $UrlLinkFmt
und $UnapprovedLinkFmt anpassen, um rel='nofollow' wie gewünscht zu unterstützen oder wegzulassen.
Übersetzung von PmWiki.UrlApprovals, Originalseite auf PmWikiDe.UrlApprovals — Backlinks
Zuletzt geändert: | PmWikiDe.UrlApprovals | am 05.09.2017 |
PmWiki.UrlApprovals | am 04.09.2017 |