für die Liste aller Seiten
Autoren (Fortgeschrittene) und Administratoren
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.
Der Gebrauch von urlapproval.php
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
- Verlangen der Freigabe von URLs zu Internetsites, bevor ein Verweis zu ihnen in dem Wiki gesetzt wird und
- die Möglichkeit, die Zahl der nicht freigegebenen Verweise, die einer Seite hinzugefügt werden dürfen, zu begrenzen.
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.
Begrenzen nicht freigegebener URLs pro Seite
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.
Behandlung nicht freigegebener Verweise
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&\$TokenName=\$TokenValue'>$[(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.
Anmerkung: $[Link requires approval] ist ein Platzhalter, der durch den entsprechenden Text in der XLPage ersetzt wird. Das Gleiche gilt für $[approval]. Möglicherweise aber fehlen die dazu passenden Einträge noch.
Um nicht freigegebene Verweise total zu verbieten, benutzen Sie dies:
$UnapprovedLinkFmt = "<b>external link not allowed</b>";
SideBar, Headers, Footers, eingefügte Seiten oder Abschnitte
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.
Anfängliche Aktivierung
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.
Passwort zur Freigabe von URLs
Um externe Verweise freigeben zu können, braucht man das Bearbeiten-Recht für die SiteAdmin.ApprovedUrls-Seite?.
Technische Tipps
URL Whitelist
URLs können auch freigegeben werden, indem man sie in eine "Whitelist" einträgt, die in der Variablen $WhiteUrlPatterns
definiert wird, die in die local/config.php
-Datei eingetragen wird).
$WhiteUrlPatterns =
"(https://example.com|https://example.net|https://example.org|https://beispiel.de)";
Um alle URLs von sagen wir Neuseeland und Australien hinzuzufügen, benutzt man:
$WhiteUrlPatterns[] = 'https://[^/]+\\.nz';
$WhiteUrlPatterns[] = 'https://[^/]+\\.au';
Seitennamen für freigegebene URLs ändern
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');
Vorschau auf die nicht freigegebenen Verweise
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
-Datei ein:
$UnapprovedLinkFmt =
"\$LinkText<a class='apprlink' href='\$PageUrl?action=approvesites&\$TokenName=\$TokenValue'
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&\$TokenName=\$TokenValue&XES_url=\$LinkUrl'
title='\$LinkUrl'>$[(approve sites)]</a>";
Über rel='nofollow'
Im Standard erzeugt PmWiki externe Verweise, denen Suchmaschinen nicht folgen.
Hier sind die Releasenotes von PmWiki 2.2.9beata20 (30-Jan-2005) (übersetzt):
Siehe auch
- Blocklist - Mit der Blockadeliste blockiert man unliebsame IP-Adressen, Wendungen und reguläre Ausdrücke gegen Spam und Vandalismus.
- Security - Zeigt relevante Verweise zur Sicherheit
für die Liste aller Seiten