-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathplugins_ereignis.tex
8237 lines (6846 loc) · 393 KB
/
plugins_ereignis.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
%revised
\index{Ereignis-Plugins}%
\chapter{Ereignis-Plugins}
\index{Events}%
\index{Hooks}%
Ereignis-Plugins dienen der Erweiterung von Funktionen im Frontend wie auch im Backend.
Serendipity setzt innerhalb seines Quellcodes an zahlreichen strategisch
wichtigen Stellen sogenannte \emph{Event-Callbacks} bzw. \emph{Event-Hooks}. An
dieser Stelle des Codes führt Serendipity also nacheinander alle installierten Ereignis-Plugins aus,
so dass jedes Plugin an dieser Stelle die Möglichkeit erhält, seine
eigenen Funktionen auszuführen. Die Reihenfolge, in der die Ereignis-Plugins in
der Plugin-Verwaltung aufgeführt sind, bestimmt dabei auch die
Ausführungsreihenfolge.
\label{Textformatierungs-Plugins}%
\index{Plugins!Textformatierungen}%
\index{Textformatierungs-Plugins}%
Bei den Textformatierungs-Plugins ist die
Ausführungsreihenfolge besonders wichtig. Ein Textformatierungs-Plugin
kann bei Artikeltexten und auch Kommentartexten dazu benutzt werden,
Text- oder Formatierungsänderungen durchzuführen. Daher reichen solche
Plugins von einfachen Wort\-ersetzungen (\cmd{s9y} könnte z.\,B.\
überall durch \cmd{Serendipity} ersetzt werden) über
Smiley-Ersetzungen (\cmd{:-)} wird zu einem grinsenden Gesicht) bis
zu speziellen Plugins, die Quelltexte in beliebigen Programmiersprachen
korrekt einrücken und darstellen.
Stellen Sie sich ein Textformatierungs-Plugin vor (\emph{Plugin A}), das
das Wort \cmd{*doof*} in eine besondere Grafik verwandelt. Ein
zweites \emph{Plugin B} kümmert sich darum, dass alle Wörter, die von
Sternchen (\cmd{*}) umgeben sind, im Artikel später fett geschrieben
werden. Wenn Plugin A vor Plugin B platziert wird, sehen
Sie nach der Umwandlung des Wortes \cmd{*doof*} wie gewünscht eine
schöne Grafik. Wäre Plugin B jedoch das zuerst ausgeführte Plugin,
würden Sie in der Ausgabe nur ein fettes Wort \cmd{doof} sehen. Denn
nachdem Plugin B alle Wörter mit umgebenden Sternchen umgewandelt hat,
kann das Smiley-Plugin das Wort \cmd{*doof*} nicht mehr
finden.
Die Plugin-Reihenfolge ergibt sich also meist abhängig von Ihrem
persönlichen Einsatz des Plugins, daher können keine allgemeinen
Aussagen getroffen werden, welches Plugin an welcher Stelle stehen muss.
Textformatierungs-Plugins werden also immer erst bei der Ausgabe
angewendet und bieten Ihnen den Komfort der einfacheren Eingabe. Wer
möchte schon jedesmal den kompletten HTML-Code für eine Smiley-Grafik
einfügen?
Ihre Eingaben werden ganz unabhängig von der späteren Formatierung in der
Datenbank gespeichert -- wenn Sie also einen Artikel später überarbeiten, werden
sämtliche Formatierungsänderungen dort noch nicht angezeigt, da sie nur bei der
Anzeige angewendet werden und nicht beim Speichern der Rohdaten. Das bedeutet
auch, dass sämtliche von einem Textformatierungs-Plugin vorgenommenen Änderungen
nicht mehr ausgeführt werden, wenn Sie dieses Plugin löschen. Seien Sie also
vorsichtig beim Löschen von Plugins und prüfen Sie, ob dadurch möglicherweise
alte Artikel nicht mehr so dargestellt werden, wie Sie es erwarten.
Eine weitere Besonderheit von Textformatierungs-Plugins ist, dass alle diese
Plugins eine Konfigurationsoption anbieten, um einzustellen, auf welche
Ausgabefelder eine Formatierung angewendet wird. So können Sie einstellen, ob
eine Formatierung nur auf normale Artikeltexte, erweiterte Artikeltexte,
Kommentare von Besuchern oder HTML-Klötze (siehe Seite
\pageref{htmlnugget}) angewendet wird. Im Eingabefeld für Kommentare von
Besuchern kann jedes Textformatierungs-Plugin eigene Hinweise einblenden,
wie deren Syntax zu benutzen ist.
\label{Standardpluginkonfiguration}%
\index{Ereignis-Plugins!häufige Konfigurationsoptionen}%
Mehrere Ereignis-Plugins bieten die Möglichkeit, beliebige Inhalte
innerhalb Ihres Blogs einzubinden: eigenständige HTML-Seiten (statische
Seiten), Gästebücher, Kontaktformulare und weitere. Alle diese Plugins
haben einen Satz an Konfigurationsoptionen gemeinsam, auf die Sie immer
wieder stoßen werden. Damit diese nicht immer für jedes Plugin wiederholt
werden müssen, werden Sie hier erklärt:
\begin{ospdescription}
\label{Standardpluginkonfiguration-Permalink}%
\index{Plugins!Standard-Konfigurationsoptionen!Permalink}%
\index{Permalinks}%
\ospitem{\menu{Permalink}}
\index{Fehler!falsche Permalinks}%
In das Feld \menu{Permalink} tragen Sie die URL ein, unter der Sie später
die Ausgaben des jeweiligen Plugins wollen. Hier müssen Sie den
vollständigen HTTP-Pfad eintragen, der zu dieser URL führt. Standardmäßig
wird das Feld vorausgefüllt mit
\cmd{/serendipity/pages/plug\-inname.html}, was Ihrem Pfadnamen und einem
virtuellen Pfad entspricht. Im virtuellen Pfadnamen können Sie eine
beliebige Struktur einsetzen. Dabei müssen Sie lediglich darauf achten,
dass die URL mit \cmd{.html} endet, keine Sonderzeichen enthält und
keinem bereits vorhandenen Permalink entspricht. Wichtig ist, dass
diese Variable immer nur eine Pfadangabe enthalten darf, niemals eine
vollständige URL wie \cmd{http://www.example.com/\ldots}. Auch muss
der Stammpfad zum Serendipity-Blog beibehalten bleiben, eine Eingabe wie
\cmd{/anderes\_blog/pages/pluginname.html} wäre ungültig.\footnote{Eine
derartige URL wäre ungültig, da der Aufruf dieser URL außerhalb der
Serendipity-Installation läge. Serendipity kann nur virtuelle
Verzeichnisse unterhalb seiner eigenen Verzeichnisstruktur verwalten.}
Wenn Sie in Ihrem Blog einmal die URL-Umformung (siehe Seite
\pageref{urlformung}) (de-)aktivieren oder Ihr Blog in ein Unterverzeichnis
verschieben, kann es sein, dass Sie die konfigurierten Permalinks aller Plugins
ebenfalls anpassen müssen. Bei deaktivierter URL-Umformung muss ein Permalink
einen Wert wie \cmd{/serendipity/index.php?/pages/""pluginname.html} enthalten.
Erst bei der Pfadangabe hinter \cmd{index.""php?} dürfen Sie eine beliebige URL
eintragen, der Pfad davor muss der Konfiguration Ihres Servers entsprechen.
\index{Plugins!Standard-Konfigurationsoptionen!Pagetitle}%
\index{Plugins!Standard-Konfigurationsoptionen!Seitentitel}%
\index{Plugins!Standard-Konfigurationsoptionen!URL-Titel der Seite}%
\index{Plugins!Standard-Konfigurationsoptionen!URL shorthand name}%
\label{Standardpluginkonfiguration-Pagetitle}%
\ospitem{\menu{URL-Titel der Seite, Seitentitel, Pagetitle oder URL shorthand
name}}
Alternativ zu der Konfiguration eines Permalinks bieten alle Plugins auch
einen \emph{URL-Titel der Seite} oder \emph{URL shorthand name} an.
Mithilfe dieser Variable kann man die Ausgaben eines Plugins auch ohne
Permalink ansehen, indem man
\begin{ospcode}
http://www.example.com/serendipity/index.php?serendipity[subpage]=
Seitentitel
\end{ospcode}
aufruft.
Dies ist wichtig, da in manchen Webserver-Konfigurationen ein Permalink
nicht mit Formulardaten beschickt werden kann.\footnote{Konkret ist dies
bei der Nutzung der URL-Umformungsmethode \cmd{Apache Error\-Hand\-ling}
nicht möglich. Eine URL wie
\cmd{/serendipity/""pages/""seite.html?""variable=inhalt} würde keine
GET-Variable \cmd{\$\_GET['variable']} erzeugen, die die Plugins
teilweise jedoch benötigen, um abhängig von der Anfrage des Besuchers
bestimmte Inhalte anzuzeigen.}
\index{Template-Variablen!\$staticpage\_pagetitle}%
Tragen Sie für den URL-Titel einer Seite ausschließlich Namen ohne
Sonderzeichen, Umlaute und Leerzeichen ein. Beinahe alle Plugins weisen
den Wert der \cmd{serendipity[subpage]}-Variable der Smarty-Variablen
\cmd{\{\$staticpage\_pagetitle\}} zu. Über diese Variable kann man
individuell in den Templates bei speziellen Plugins unterschiedliche
Template-Ausgaben erreichen (siehe Seite \pageref{Smarty-Templates}).
\label{Standardpluginkonfiguration-Articleformat}%
\index{Plugins!Standard-Konfigurationsoptionen!Als Artikel formatieren}%
\ospitem{\menu{Als Artikel formatieren}}
Wenn Sie die Option \menu{Als Artikel formatieren} aktivieren, wird
Serendipity die Ausgabe eines Plugins so darstellen, als sei dies ein
normaler Blog-Artikel. Um die Ausgabe herum wird also das übliche
HTML-Konstrukt erzeugt, das Serendipity standardmäßig ausgibt (mit
Seitenüberschrift und Datum).
Wenn Sie diese Option deaktivieren, werden die Ausgaben 1:1
weitergereicht und in den Inhaltsbereich von Serendipity eingefügt. Das
heißt, dass Serendipity sich in jedem Fall um die Ausgabe des HTML-Kopf-
und -Fußkonstruktes sowie der Seitenleisten-Plugins kümmert, aber sonstige
Überschriften nicht ausgibt.
\end{ospdescription}
%revised
\section{Standardmäßig aktivierte Plugins}
Die im Folgenden behandelten Ereignis-Plugins werden bei Serendipity mitgeliefert und sind
standardmäßig aktiviert.
\index{Anti-Spam}%
\index{Spamblock}%
\index{Spamschutz}%
\label{spamblock}%
\index{Plugins!Spamschutz}%
\index{Plugins!serendipity\_event\_spamblock}%
\subsection{Spamschutz\newline serendipity\_event\_spamblock}
Das Plugin, das den Rekord für die höchste Anzahl von
Konfigurationsoptionen hält, ist sicherlich das \emph{Spamschutz}-Plugin.
Erschrecken Sie nicht davor, sondern gehen Sie die Möglichkeiten ruhig
nacheinander durch. Die Voreinstellungen des Plugins sind für gewöhnliche
Zwecke bereits recht gut geeignet.
\index{Spam}%
Anhand der Fülle verschiedener Optionen wird eines recht deutlich: Der
Kampf gegen Spam (unerwünschte Werbung) ist extrem müßig und mit viel
"`Wenn"' und "`Aber"' verbunden. Einen optimalen Schutz gegen Spam
kann Ihnen auch dieses Buch leider nicht geben, dafür ändern sich die
Techniken der Spammer zu häufig.
\index{Akismet}%
\index{Captchas}%
Als probates Mittel hat sich die Verwendung des \emph{Akismet}-Services
erwiesen. Dieser zentrale Server führt schwarze Listen von
Kommentarspam-Fällen und kann von vielen Blogsystemen genutzt werden,
darunter Serendipity, WordPress und MoveableType. Auch die Aktivierung
von Captchas reduziert Kommentarspam sehr deutlich, bringt aber
auch Usability-Einschränkungen mit sich.
Dafür ermöglichen es Ihnen aber viele der aufgeführten Optionen, flexibel
auf neue Gegebenheiten eingehen zu können. Daher sollten Sie das
Folgende aufmerksam durchlesen, um im Bedarfsfall schnell auf Spam
reagieren zu können.
Das Spamschutz-Plugin wird jeweils aufgerufen, wenn in Ihrem Blog jemand
einen Kommentar oder ein Trackback hinterlässt. Das Plugin prüft
daraufhin, was der Benutzer übermittelt hat, und führt nacheinander
mehrere Tests aus. Sobald einer der aktivierten Tests einen Kommentar als
Spam markiert, wird der Artikel speziell vorgemerkt. Das Plugin merkt
sich daraufhin, aufgrund welcher Maßnahme ein Artikel als Spam
identifiziert wurde. Denn wie bei der Spam-Filterung bei E-Mails kann es
leicht vorkommen, dass auch gültige Nachrichten aufgrund einer
Filterregel als Spam klassifiziert worden sind. Daher ist es wichtig,
die Filter von vornherein nicht zu "`scharf"' einzustellen und
ab und zu die Logdateien nach falsch eingestuftem Spam durchzugehen.
Wenn ein Kommentar als Spam identizifiert ist, können zwei Dinge
geschehen: Entweder er wird komplett verworfen, oder er wird moderiert.
Moderierte Kommentare müssen erst von einem Redakteur freigeschaltet
werden. Komplett verworfene Kommentare werden erst gar nicht in der
Datenbank gespeichert, und der Redakteur wird von einem solchen Kommentar
nie etwas erfahren. Nur auf zu moderierende Kommentare wird ein
Redakteur möglicherweise per E-Mail hingewiesen (abhängig von den
Einstellungen des Redakteurs bezüglich E-Mail-Benachrichtigungen, siehe
Seite \pageref{einstellungen-commentnotify}).
Bei vielen Anti-Spam-Optionen können Sie einstellen, ob beim Zutreffen
einer einzelnen Regel die Nachricht verworfen oder moderiert werden soll.
Sobald die erste Regel zutrifft, die eine Nachricht verwirft, ist die
Ausführung des Anti-Spam-Plugins beendet. Daher ist es durchaus möglich,
dass ein Kommentar von einer Regel erst als "`moderiert"'
eingestuft wird, dann aber eine Folge-Filterregel den Kommentar doch
"`abweist"'. Das Abweisen hat also Priorität vor der Moderation.
Wenn Sie einen Artikel bereits mit aktivierter Option \menu{Kommentare
und Trackbacks dieses Eintrags werden moderiert} erstellt haben, kann das
Anti-Spam-Plugin dennoch Kommentare abweisen. Ein Kommentar kann dann
jedoch niemals ohne Moderation veröffentlicht werden. Wenn Sie die Option
\menu{Kommentare für diesen Eintrag zulassen} bei einem Artikel
deaktiviert haben, ist das Anti-Spam-Plugin für diesen Artikel
irrelevant, da sämtliche Kommentare abgewiesen werden.
\begin{ospdescription}
\index{Plugins!Spamschutz!Notfall-Blockade von Kommentaren}%
\ospitem{\menu{Notfall-Blockade von Kommentaren}}
Wenn gerade eine Spam-Welle über Sie hereinbricht, können Sie diese
Option aktivieren, um im Blog keinerlei Kommentare oder Trackbacks
anzunehmen. Weitergehende Blockademaßnahmen können Sie auf Seite
\pageref{commentphp} nachlesen.
Empfohlene Einstellung: \emph{Nein}
\index{Plugins!Spamschutz!Spamblock für Autoren deaktivieren}%
\ospitem{\menu{Spamblock für Autoren deaktivieren}}
Häufig können Sie den angemeldeten Autoren des Blogs vertrauen, dass sie
keine Spam-Einträge in Ihrem Blog vornehmen. Daher können Sie mit der
Einstellung \menu{Spamblock für Autoren deaktivieren} dafür sorgen, dass
alle eingeloggten Redakteure bei Kommentaren von keinerlei
Anti-Spam-Maßnahmen betroffen sind (Einstellung \menu{Alle Autoren}).
Eingeloggte Autoren sehen also keine Captcha-Grafiken und werden nicht
anderweitig von Filterungen behelligt. Wenn Sie das Auswahlfeld auf
\menu{keine} stellen, unterscheidet das Plugin nicht zwischen anonymen
und eingeloggten Besuchern.
Ansonsten können Sie in diesem Feld gezielt Benutzergruppen auswählen.
Wenn Sie das Plugin \emph{Freie Benutzer-Registrierung} benutzen, ist
dies besonders sinnvoll, um "`anonyme"' Redakteure dennoch von den
"`echten"', manuell erzeugten Redakteuren unterscheiden zu können. Achten
Sie dann einfach darauf, dass die Benutzergruppe der Redakteure, die über das
Registrierungs-Plugin hinzugefügt werden, nicht im Auswahlfeld markiert
ist.
Empfohlene Einstellung: \emph{Alle Autoren}
\index{IP-Filterung}%
\index{Plugins!Spamschutz!Trackback IP Validierung}%
\ospitem{\menu{Trackback IP Validierung}}
Wenn Sie von einem fremden Blog ein Trackback erhalten (siehe Seite
\pageref{trackback}), dann wird dieses Trackback von einem bestimmten Server aus
gesendet. In einem Trackback selbst ist die URL des fremden Blogs enthalten.
Im üblichen Fall entspricht die IP-Adresse des Servers, der das
Trackback sendet, genau der IP-Adresse der URL, die im Trackback enthalten
ist.
Bei Spam sieht dies anders aus: Die Trackbacks werden von infizierten
Computersystemen aus verschickt, und die beworbene URL entspricht meist
der von Spam-Seiten und liegt auf einem völlig anderen Server.
Das Antispam-Plugin kann solche Trackbacks automatisch abweisen, wenn die
IPs des sendenden Servers und des beworbenen Servers nicht
übereinstimmen.
Die Aktivierung dieser Option ist sehr empfehlenswert, da es im täglichen
Einsatz de facto nicht zu einer fehlenden Übereinstimmung bei echten
Trackbacks kommen kann. Lediglich in Randfällen wie Servern, die
Trackbacks über Proxy-Server verschicken müssen, kann dies gültige
Trackbacks verwerfen. Wägt man den positiven Nutzen des Schutzes vor
ungültigem Spam dagegen ab, ist dieser Nachteil jedoch leicht zu
verschmerzen.
Empfohlene Einstellung: \emph{abweisen}
\index{Plugins!Spamschutz!Keine doppelten Kommentare erlauben}%
\ospitem{\menu{Keine doppelten Kommentare erlauben}}
Üblicherweise sollte es in einem Blog nie dazu kommen, dass identische
Kommentare mehrfach vorkommen. Daher können Sie Kommentare sperren, die
bereits in der Datenbank vorhanden sind, wenn Sie die Option \menu{Keine
doppelten Kommentare erlauben} auf \menu{Ja} stellen.
Viele Spammer variieren ihre Inhalte durch zufällig erzeugte Buchstaben
und sind daher von dieser Einstellung nicht betroffen. Dennoch kann diese
Anti-Spam-Maßnahme auch helfen, doppelte profane Kommentare wie
"`super!"' zu unterbinden.
Empfohlene Einstellung: \emph{Ja}
\index{Plugins!Spamschutz!Kommentare abweisen, die als Text nur den Artikeltitel enthalten}%
\ospitem{\menu{Kommentare abweisen, die als Text nur den Artikeltitel
enthalten}}
Eine beliebte Form des Kommentar-Spams stellte einmal die Methode dar, bei
einem Kommentar einfach den Titel Ihrer eigenen Artikel zu übernehmen.
Anstelle eines Links zu einem fremden Artikel erhielten Spammer ihren
Nutzen dadurch, dass deren Benutzername oder Homepage auf eine fremde URL
verwies.
Wenn Sie diese Option aktivieren, werden solche Kommentare verboten.
In der freien Wildbahn treten derartige Spam-Kommentare kaum noch auf,
daher ist es empfehlenswert, die Option aus Geschwindigkeitsgründen
besser zu deaktivieren.
Empfohlene Einstellung: \emph{Nein}
\index{IP-Adresse!sperren}%
\label{ipblock}%
\index{Plugins!Spamschutz!IP-Block Intervall}%
\ospitem{\menu{IP-Block Intervall}}
\index{IP}%
Jeder Besucher des Blogs besitzt eine eigene IP, die den Benutzer im
Internet identifiziert. Üblicherweise hat somit jeder Besucher der
Webseite eine eindeutige IP, die sich jedoch bei jeder neuen Einwahl des
Benutzers ins Internet unterscheiden wird. Mit einer so gewonnenen
IP-Adresse kann man versuchen, Kommentare von dort nach gewissen
Kriterien zu unterbinden.
\index{Proxy}%
IP-Adressen sind jedoch leider keine verlässliche Maßnahme. Wenn ein
Besucher einen sogenannten \emph{Proxy}\footnote{Ein Proxy ist eine
Art Webserver, der die Inhalte fremder Webseiten zwischenspeichern kann, um so
Traffic zu reduzieren oder Inhalte leichter zu filtern.} benutzt,
werden seine Zugriffe über die IP-Adresse dieses Servers durchgeführt.
Der Proxy verschleiert also die wahre Identität des Besuchers. Da große
Unternehmen wie T-Online und auch AOL für ihre Benutzer zentrale
Proxy-Server benutzen, könnte man also beim Blocken einer solchen IP
nicht nur den Zugriff für eine einzelne Person verhindern, sondern für
alle Besucher, die diesen Proxy verwenden.
Kurzum, Sie sollten der IP-Adresse kein absolutes Vertrauen schenken.
Dennoch kann es helfen, Missbrauch auf gewisse Weise einzudämmen. Die
Option \menu{IP-Block Intervall} ermöglicht es, dass eine eindeutige IP
nur einmal einen Kommentar eintragen darf, und dann erst wieder nach Ablauf
des konfigurierten Zeitraums. Somit ist es nicht mehr möglich, mehrere
hundert Kommentare pro Sekunde abzusetzen.
In Blogs passiert es selten, dass Benutzer (auch die Benutzer eines Proxies)
im Minutentakt gewünschte Kommentare hinterlassen. Daher ist ein
Zeitraum von einer Minute hier durchaus empfehlenswert.
Die Abweisung eines Kommentars mittels dieser Option erfolgt erst bei
der Abarbeitung eines bereits übermittelten Kommentars. Das heißt, der
eigentliche Zugriff auf das Blog wird anhand dieser Option nicht
eingeschränkt.
Empfohlene Einstellung: \emph{60}.
\index{CSRF}%
\index{XSRF}%
\index{Plugins!Spamschutz!CSRF-Schutz aktivieren}%
\ospitem{\menu{CSRF-Schutz aktivieren?}}
Die meisten Spam-Kommentare erfolgen, indem ein Spam-Roboter automatisch
Ihre URLs aufruft und einen Kommentar überträgt. Meist macht sich der
Roboter nicht die Mühe, vorher (wie ein normaler Blog-Besucher) die
eigentliche Webseite aufzurufen. Dieses Vorgehen kann man sich zur Abwehr
zunutze machen: Man speichert auf der Seite, von der aus das
Kommentarformular eingebunden wird, einen Zufallswert. Nur wenn dieser
Zufallswert gültig mit dem Kommentar vom Browser des Besuchers
übermittelt wird, kann man davon ausgehen, dass ein menschlicher Besucher
auch vorher den Artikel aufgerufen hat und dass nicht einfach etwas automatisiert
übertragen wird.
Die Aktivierung dieser Option hat leider einen gravierenden Nachteil.
Denn damit der eingegebene Zufallswert auf dem Server zur Prüfung
zwischengespeichert werden kann, muss eine Session (siehe Terminologie,
Seite \pageref{sessioncookies}) für den Besucher angelegt werden. Eine Session
ist jedoch von Serendipity nur nutzbar, wenn der Browser des Besuchers Cookies annimmt
(siehe Hinweis Seite \pageref{Cookie}).
Weiterhin bringt diese Option einen Schutz vor
\emph{CSRF}\footnote{\emph{Cross Site Request Forgery} nennt man den
Versuch eines fremden Benutzers, Ihren Browser fernzusteuern und damit
Aktionen auszulösen, die Sie selbst gar nicht
ausführen möchten.}. Dies führt zu Angriffen, bei denen ein böswilliger Benutzer
Sie dazu bringen könnte, ungewollt Kommentare zu verfassen oder sogar
freizuschalten.
Empfohlene Einstellung: \emph{Ja}.
\index{Plugins!Spamschutz!Captchas aktivieren}%
\index{Captchas}%
\ospitem{\menu{Captchas aktivieren}}
Captchas (siehe Seite \pageref{Captcha}) sind kleine Grafiken mit schwer
zu lesenden Zeichenkombinationen. Damit ein Besucher einen Kommentar
schreiben darf, muss er die dargestellten Zeichen in eine Box abtippen,
um sich dem System gegenüber als "`Mensch"' auszuweisen.
Captcha-Grafiken müssen eine gewisse Komplexität aufweisen, damit sie
tatsächlich nicht von Computern überlistet werden können. Dies kann dazu
führen, dass es auch den Besuchern immer schwerer fällt, die Captchas
zu entziffern. Dennoch bietet diese Maßnahme eine der effektivsten
Möglichkeiten, automatisierten Spam zu unterbinden.
Mit der Option \menu{Stärkere Captchas} können Sie die Komplexität der
Grafiken noch weiter erhöhen, indem weitere Zufallsmuster eingefügt
werden. Diese Option ist mehr für den "`Spam der Zukunft"' vorgesehen
und sollte derzeit glücklicherweise noch nicht erforderlich sein.
\index{gdlib}%
Um Captchas anzeigen zu können, sollte Ihr Server die PHP \emph{gdlib}
anbieten. Andernfalls werden die Zeichenfolgen mit Grafikdateien
zusammengebaut, was von Spam-Robotern um einiges einfacher zu umgehen
ist. Damit Ihre Besucher Captchas ausfüllen können, müssen sie
in ihrem Browser Cookies annehmen. Wie Sie die Captcha-Grafiken anpassen
können, ist auf Seite \pageref{Captcha-anpassen} ausgeführt.
Empfohlene Einstellung: \emph{Ja}.
\index{Plugins!Spamschutz!Captchas nach wie vielen Tagen erzwingen}%
\ospitem{\menu{Captchas nach wie vielen Tagen erzwingen}}
Da Captchas gerade für sehbehinderte Menschen große Probleme schaffen,
möchte man diese Grafiken so selten wie möglich erforderlich machen.
Da Spammer mit Vorliebe alte Artikel in Ihrem Blog als Ziel nehmen (da
diese Artikel bei Suchmaschinen bereits besser vertreten sind), sind
häufig neue Artikel des Blogs nicht betroffen.
Dies können Sie ausnutzen, indem Sie Captchas nur dann einblenden, wenn
ein Artikel ein gewisses Alter erreicht hat. Das Mindestalter tragen Sie
in Tagen ein. Wenn Sie \emph{0} eintragen, werden Captchas auch bei
aktuellen Artikeln direkt eingebunden.
Empfohlene Einstellung: \emph{14}.
\index{Plugins!Spamschutz!Hintergrundfarbe des Captchas}%
\ospitem{\menu{Hintergrundfarbe des Captchas}}
Die Captcha-Grafik wird unterhalb des Eingabeformulars für einen Kommentar
eingebunden. Je nach Design Ihres Blogs möchten Sie die Hintergrundfarbe
dieser automatisch erzeugten Grafiken sicher anpassen. Daher können Sie bei
dieser Option eine Farbe im RGB-Format eintragen. Drei Zahlen repräsentieren hier,
von einem Komma voneinander getrennt, den Farbwert von \emph{Rot, Grün} und \emph{Blau}.
Wer sich an die Farbenlehre erinnern kann, weiß, dass man mit diesen drei
Primärfarben jede andere vom Monitor darstellbare Farbe abbilden kann. Um
diese Farbwerte leicht herauszufinden, können Sie kleine Tools wie etwa den Colorpicker\footnote{\cmd{http://www.pagetutor.com/colorpicker/index.html}} benutzen.
Empfohlene Einstellung: \emph{255,255,255} (Weiß)
\index{Plugins!Spamschutz!Kommentarmoderation nach wievielen Tagen erzwingen}%
\ospitem{\menu{Kommentarmoderation nach wievielen Tagen erzwingen}}
Bei besonders alten Artikeln ist es sehr selten, dass Besucher noch
gewünschte Kommentare hinterlassen. Blogs sind meistens so tagesaktuell,
dass ältere Artikel schnell an "`Kommentarwert"' verlieren. Dies können
Sie also ausnutzen, um Kommentare zu alten Artikeln von vornherein
auszusortieren.
Wenn Sie hier die Zahl \cmd{0} eintragen, wird diese Möglichkeit der
automatischen Moderation deaktiviert. Eine Zahl wie \cmd{60} bewirkt,
dass Artikel älter als zwei Monate nicht ohne Ihre Zustimmung kommentiert
werden können.
Empfohlene Einstellung: \emph{60}
\index{Plugins!Spamschutz!Was soll mit auto-moderierten Kommentaren passieren}%
\ospitem{\menu{Was soll mit auto-moderierten Kommentaren passieren?}}
Üblicherweise werden Kommentare zu Artikeln, die Sie mit der Option
\menu{Kommentarmoderation nach wievielen Tagen erzwingen} gefiltert
haben, in der Datenbank gespeichert, aber nicht freigeschaltet.
Über die Option \menu{Was soll mit auto-moderierten Kommentaren
passieren} können Sie mit solchen Kommentaren auch noch härter verfahren
und Kommentare vollständig \menu{abweisen}.
Empfohlene Einstellung: \menu{moderieren}
\index{Plugins!Spamschutz!Trackbackmoderation nach wievielen Tagen erzwingen}%
\ospitem{\menu{Trackbackmoderation nach wievielen Tagen erzwingen}}
Ähnlich der Einstellung für Kommentare können auch Trackbacks nach einem
gewissen Zeitraum automatisch moderiert werden.
Empfohlene Einstellung: \emph{60}
\index{Plugins!Spamschutz!Was soll mit auto-moderierten Trackbacks passieren}%
\ospitem{\menu{Was soll mit auto-moderierten Trackbacks passieren?}}
Ähnlich der Einstellung für Kommentare können die durch automatische
Moderation erfassten Trackbacks entweder moderiert oder verworfen werden.
Empfohlene Einstellung: \emph{moderieren}
\index{Plugins!Spamschutz!Behandlung von per API übermittelten Kommentaren}%
\ospitem{\menu{Behandlung von per API übermittelten Kommentaren}}
Es gibt bei Serendipity grundsätzlich zwei Möglichkeiten, als Benutzer
eine Mitteilung zu einem Blog-Artikel zu hinterlassen. Zum einen sind das
Kommentare, die direkt im Blog eingetragen werden. Hierbei ist also eine
Interaktion des Benutzers notwendig, Captchas und andere Anti-Spam-Maßnahmen
können in den Prozess eingebunden werden.
Anders ist dies bei Trackbacks. Derartige "`Kommentare"' werden von einem
automatischen System verschickt und empfangen, daher können dort keine
Captchas zwischengeschaltet werden. Solche automatische Methoden
bezeichnet man daher als API (siehe Terminologie auf Seite \pageref{API}).
Sie können derartige Kommentare, die immer von Computern übermittelt
werden, gezielt behandeln: Entweder werden solche Kommentare
\menu{abgewiesen}, oder sie müssen von Ihnen \menu{moderiert} werden.
Wenn Sie automatisch übermittelte Kommentare gleichrangig wie via
Formular eingetragene Kommentare behandeln wollen, können Sie die Option
\menu{keine} wählen.
Da das Aktivieren der automatischen Moderation meist eine große E-Mail-Flut von
Benachrichtigungen mit sich bringt und man gültige von ungültigen Trackbacks
schwer trennen kann, macht eine pauschale Moderation von Trackbacks selten
Sinn. Nur wenn Sie auf Trackbacks vollständig verzichten wollen, sollten Sie die
Option auf \menu{abweisen} stellen.
Empfohlene Einstellung: \emph{keine}
\index{Plugins!Spamschutz!Trackback URLS@Trackback-URLS prüfen}%
\ospitem{\menu{Trackback-URLS prüfen}}
Der Sinn eines Trackbacks ist, dass ein fremdes Blog Sie darauf hinweisen
kann, dass es sich auf einen Ihrer Artikel bezieht. Daher muss ein
Trackback immer die URL des fremden Blogs enthalten, auf dem sich jemand
zu Ihrem Artikel äußert.
Bei Spam ist das meistens nicht der Fall -- die URL, die das Trackback
bewirbt, enthält meistens nur besondere Angebote zum preiswerten Bezug
von Viagra oder tolle Vorschläge, wie man reich werden kann. Für die
Spammer wäre es ein hoher Aufwand, sich dort tatsächlich auf Ihren
Blog-Artikel zu beziehen.
Diese Nachlässigkeit der Spammer können Sie ausnutzen und mit der Option
\menu{Trackback-URLs prüfen} einstellen, ob alle Trackback-URLs daraufhin
geprüft werden sollen, ob sie die URL Ihres Artikels enthalten.
\index{Traffic}%
Die Aktivierung dieser Option birgt jedoch zwei Gefahren: Wenn ein
Spammer eine ungültige URL oder eine URL mit besonders
vielen Daten hinterlässt, dann wird Ihr Webserver diese Seite gnadenlos trotzdem
aufrufen und viel Traffic verursachen. Da die URL-Prüfung ausgeführt
wird, während das Trackback gespeichert wird, kann dies die Dauer der
Prüfung sehr in die Länge ziehen und Ihren Server stark auslasten.
Zusätzlich darf bei der Aktivierung dieser Option der Webserver nicht von
einer Firewall blockiert werden, damit fremde URLs überhaupt aufgerufen
werden können.
Die zweite Gefahr ist, dass Sie möglicherweise Trackbacks abweisen, die
eigentlich gültig wären. Manche Blogsysteme senden ein Trackback an Ihr
Blog nämlich bereits, bevor der eigene Artikel veröffentlicht wurde. Das
Blogsystem würde also erst dann seinen Artikel mit dem Link zu Ihnen
online stellen, wenn das Trackback an Sie abgearbeitet wurde. Da Sie aber
bereits bei der Annahme des Trackbacks die Existenz der fremden URL
voraussetzen, würde das Trackback fehlschlagen.
Empfohlene Einstellung: \emph{Nein}
\index{Plugins!Spamschutz!Erforderliche Anzahl an Links für Moderation}%
\ospitem{\menu{Erforderliche Anzahl an Links für Moderation}}
Viele Spammer nennen in ihren Kommentaren einfach zahlreiche Links und
hoffen, dass Ihre Besucher diese Links anklicken. Es ist
üblicherweise ungewöhnlich, dass Kommentatoren Ihrer Artikel dutzende von
Links an Sie schicken, daher können Sie in diesem Optionsfeld eine Anzahl
von Links angeben, bei deren Erreichen ein Kommentar automatisch
moderiert werden soll.
Empfohlene Einstellung: \emph{7}
\index{Plugins!Spamschutz!Erforderliche Anzahl an Links für Abweisung}%
\ospitem{\menu{Erforderliche Anzahl an Links für Abweisung}}
Die Anzahl der erforderlichen Links im oberen Eingabefeld dient nur der
Moderation eines Kommentars. Wenn Sie ab einer gewissen Anzahl von Links
aber einen Kommentar direkt abweisen wollen, können Sie dies im Feld
\menu{Erforderliche Anzahl an Links für Abweisung} eintragen.
Empfohlene Einstellung: \emph{13}
\index{Wortfilter}%
\index{Blacklist}%
\label{Wortfilter}%
\index{Plugins!Spamschutz!Wortfilter aktivieren}%
\ospitem{\menu{Wortfilter aktivieren}}
In den folgenden großen Eingabefeldern können Sie Zeichenketten
eintragen. Sobald eine dieser Zeichenketten in einem Kommentar vorkommt
("`Blacklisting"'), kann ein Kommentar speziell behandelt werden.
Wie diese Behandlung ausfallen soll, stellen Sie über die Option
\menu{Wortfilter aktivieren} ein. Ob Sie diese auf \menu{moderieren} oder
\menu{abweisen} stellen, hängt davon ab, wie "`scharf"' Sie Ihre
Wortfilter einstellen. Wenn Sie beispielsweise das Wort \cmd{arsch}
filtern, dann ist das erstmal ein guter Gedanke. Vielleicht denken Sie
aber nicht daran, dass ja diese Zeichenkette auch bei dem Wort
"`marschieren"' vorkommen könnte und in diesem Fall keineswegs
filterungswürdig wäre. Hätten Sie den Wortfilter hier auf \menu{abweisen}
gestellt, wäre ein Kommentar mit diesem Wort vollständig verloren, und
der Besucher wundert sich womöglich, warum sein Kommentar nicht
angenommen wurde.
Daher ist es ganz wichtig, dass Sie die folgenden Wortfilter so eng
wie möglich fassen, um gültige Buchstabenkonstellationen nicht auch zu
verhindern. Für obiges Beispiel wäre daher der Einsatz von
\cmd{\raisebox{-2.5pt}{$\sqcup$}arsch\raisebox{-2.5pt}{$\sqcup$}} eher
zu empfehlen. Durch die zusätzlichen Leerzeichen würde der Filter nur
noch dann aktiv werden, wenn das Wort isoliert vorkommt.
Empfohlene Einstellung: \emph{abweisen}
\index{Plugins!Spamschutz!Wortfilter für URLs, Autorennamen, Inhalt und E-Mail-Adressen}%
\ospitem{\menu{Wortfilter für URLs, Autorennamen, Inhalt und E-Mail-Adressen}}
Auf jedes Feld, das ein Kommentator ausfüllt, können Sie einen
Wortfilter anwenden.
Die zu filternden Wörter müssen mit dem Semikolon (\cmd{;}) getrennt
werden. Wenn Sie am Zeilenende angelangt sind, können Sie vor oder nach
diesem Semikolon auch gerne einen Zeilenumbruch (\taste{Return}-Taste)
zur besseren Lesbarkeit einfügen.
Jedes eingetragene Wort wird dabei einzeln auf das Vorhandensein im
Kommentar geprüft. Trifft eines der Wörter zu, wird der Kommentar
entsprechend der Wortfilter-Einstellung entweder moderiert oder
abgewiesen.
\index{Reguläre Ausdrücke}%
\label{regexp}%
Sämtliche Wortfilter werden als "`reguläre
Ausdrücke"'\footnote{\cmd{http://de.wikipedia.org/wiki/Regul\%C3\%A4rer\_Ausdruck}}
%FM einfach nur ae? Zeichensalat im PDF bei der URL
%GH Geht leider nicht, da dann Wikipedia die URL nicht anerkennt
%GH @ Satz: Muss irgendwie hingekriegt werden so dass die URL-Entities enthalten
% sind
interpretiert. Dies ist eine spezielle Syntax, in der Sie auch
Platzhalter verwenden können. Reguläre Ausdrücke sind ein Thema
für sich, aber hier ein Beispiel für einen Wortfilter-Ausdruck:
\begin{ospcode}
{\textbackslash}@[^{\textbackslash}s]+{\textbackslash}.jp{\textbackslash}s
\end{ospcode}
Dieser Ausdruck würde einen Kommentar dann sperren, wenn jemand eine
E-Mail-Adresse angibt, die zu einer japanischen Domain führt. Ein Kommentar wie
"`Mail me at [email protected]"' würde also blockiert werden.
\index{Escaping}%
Aufgrund des Einsatzes von regulären Ausdrücken gibt es bei den
Wortfiltern Besonderheiten für Zeichen, die bei regulären Ausdrücken
besonders genutzt werden. Solche Zeichen muss man, wenn sie im Wort
vorkommen sollen, \emph{escapen}. Dazu stellt man einfach den Backslash
(\textbackslash) vor eines der folgenden Sonderzeichen:
\begin{ospcode}
@ [ ] ( ) \{ \} . ? * ^ \$ | + -
\end{ospcode}
Wenn Sie also die große Flexibilität von regulären Ausdrücken nicht
nutzen wollen, können Sie die Wortfilter auch ganz einfach als
Wortliste verwenden. Einzig beim Auftreten eines Sonderzeichens müssen
Sie daran denken, den Backslash voranzustellen.
\index{Fehler!bei der Kommentarabgabe}%
Wenn Sie ungültige reguläre Ausdrücke eingeben, kann dies zu PHP-Fehlermeldungen bei der
Kommentarabgabe führen oder sogar dazu, dass keinerlei Kommentare mehr
gespeichert werden können. In diesem Fall sollten Sie versuchen, alle
Wortfilter zu löschen. Wenn es danach wieder klappt, können Sie nach und
nach die ursprünglichen Zeichenketten wieder einfügen und so
herausfinden, welche Regel falsch war.
Empfohlene Einstellung: \emph{Keine Empfehlung möglich}
\index{Plugins!Spamschutz!URL-Filterung anhand der blogg.de Blacklist aktivieren}%
\ospitem{\menu{URL-Filterung anhand der blogg.de Blacklist aktivieren}}
Der Blog-Provider \cmd{blogg.de} hat in der Vergangenheit eine Liste von URLs
geführt, die von Spammern benutzt wurden. Serendipity kann einen
Kommentar mit dieser schwarzen Liste abgleichen und bei einem Treffer
nach Wunsch \menu{moderieren} oder \menu{abweisen}.
Aufgrund des hohen Pflegeaufwands ist die Blacklist dieses Providers
seit längerer Zeit nicht mehr aktiv, daher ist die Aktivierung dieser
Option zum jetzigen Zeitpunkt zwecklos. Möglicherweise wird die Blacklist
irgendwann wieder aktiviert, daher wird diese Option weiterhin angeboten.
Empfohlene Einstellung: \emph{keine}
\label{Akismet}%
\index{Akismet}%
\index{Plugins!Spamschutz!Akismet API Key}%
\ospitem{\menu{Akismet API Key}}
\emph{Akismet} ist ein zentraler Web-Service, der eine Schnittstelle für
Blogsysteme wie WordPress, Serendipity und MoveableType anbietet. Ein
Kommentar wird vollständig an den Service übermittelt, der Service
überprüft den Kommentar und sieht nach, ob er Spam-Kriterien aufweist.
Da sehr viele Systeme Spam an diesen Service melden und die Datenbank
bereits sehr groß ist und aktiv gepflegt wird, kann Akismet relativ
verlässlich entscheiden, ob ein Kommentar Spam darstellt oder nicht.
Wenn Sie den Akismet-Dienst benutzen wollen, benötigen Sie einen
sogenannten API-Key, den Sie mit der Anmeldung\footnote{\cmd{http://akismet.com}} erhalten. Sie müssen ihn dann im
Spamschutz-Plugin im Konfigurationsfeld \menu{Akismet API Key} eintragen.
Die Abfrage des Akismet-Servers kann nur klappen, wenn Ihr Webserver
nicht von einer Firewall am Verbindungsaufbau gehindert wird.
Beachten Sie bei der Benutzung von Akismet, dass es auch hier zu
falsch erkanntem Spam kommen kann und dass in besonders geschützten
Intranet-Blogs Kommentare so an einen zentralen Server übertragen werden,
über den Sie keine Kontrolle haben. Blogs, bei denen Sie schützenswerte
Inhalte hinterlegen, sollten Sie daher nicht mit Akismet betreiben.
Empfohlene Einstellung: \emph{Akismet-Schlüssel beantragen!}
\index{Plugins!Spamschutz!Behandlung von Akismet-Spam}%
\ospitem{\menu{Behandlung von Akismet-Spam}}
Mit dieser Option legen Sie fest, wie von Akismet erkannter Spam
behandelt werden soll. Sie können derartigen Spam entweder
\menu{moderieren} oder \menu{abweisen}.
Der große Komfort von Akismet und die relativ geringe Fehlerquote
ermöglichen es, diese Option auf \menu{abweisen} einzustellen. So
erhalten Sie wirklich nur noch Moderationshinweise von Kommentaren, bei
denen die Einstufung als Spam aufgrund anderer Spamschutz-Kriterien nicht
eindeutig war.
Empfohlene Einstellung: \emph{abweisen}
\index{E-Mail-Adresse!verstecken}%
\index{Plugins!Spamschutz!E-Mail-Adressen bei Kommentatoren verstecken}%
\ospitem{\menu{E-Mail-Adressen bei Kommentatoren verstecken}}
Wird ein Kommentar bei einem Blog-Artikel angezeigt, sehen Sie auch
die Informationen zu demjenigen, der den Kommentar verfasst hat. Dabei
kann (je nach Template) auch die E-Mail-Adresse angezeigt werden, die
wiederum Spam-Roboter in Ihrem Blog sammeln könnten, um den
Kommentatoren mit Werbenachrichten zu belästigen.
Um dies zu verhindern, können Sie die E-Mail-Adresse Ihrer Besucher mit der
Option \menu{E-Mail-Adressen bei Kommentatoren verstecken} stets
ausblenden, bzw. automatisch mit der Dummy-Adresse \cmd{nospam@ex\-ample.com}
ersetzen.
Als Administrator können Sie die echte E-Mail-Adresse nach wie vor in der
Backend-Kommentar-Oberfläche einsehen.
Empfohlene Einstellung: \emph{Ja}
\index{Plugins!Spamschutz!auf ungültige E-Mail-Adressen prüfen}%
\ospitem{\menu{Auf ungültige E-Mail-Adressen prüfen?}}
Grundsätzlich ist es möglich, dass Kommentatoren in Ihrem Blog eine ungültige E-Mail-Adresse eintragen. Gerade
Spammer können dies benutzen, um statt einer E-Mail-Adresse einfach eine
Homepage zu übertragen.
Das Spamschutz-Plugin kann dies in gewissem Maße einschränken und eine
(grobe) Prüfung durchführen, ob eine E-Mail-Adresse ein gültiges Muster
besitzt (also \cmd{\cmdvar{user}@\cmdvar{domain.land}}).
Wenn Sie diese Option aktivieren, kann Serendipity jedoch nicht prüfen,
ob die E-Mail-Adresse auch tatsächlich existiert. Fantasie"=Adressen mit
gültigem Muster können also so nicht abgefangen werden.
Empfohlene Einstellung: \emph{Ja}
\index{Plugins!Spamschutz!Pflichtfelder}%
\ospitem{\menu{Pflichtfelder}}
Wenn ein Kommentator die Formularfelder ausfüllt, um einen Kommentar zu
hinterlassen, gibt es eine Reihe von optionalen Feldern. Serendipity
lässt Kommentare zu, bei denen lediglich der Kommen\-tartext ausgefüllt
wird und ansonsten alle Angaben anonym sind.
Wenn Sie dies verhindern wollen, können Sie Pflichtfelder im
Kommentarformular definieren. Alle Pflichtfelder tragen Sie dabei in dem
Eingabefeld ein. Folgende Felder stehen zur Verfügung: \menu{name} (Name
des Kommentators), \menu{email} (E-Mail-Adresse), \menu{url} (Homepage),
\menu{comment} (Kommentartext). Ein weiteres Feld ist \menu{replyTo}, das
angibt, auf welchen vorausgehenden Kommentar sich ein Benutzer bezieht.
Dieses Feld als Pflichtfeld zu bestimmen macht meistens keinen Sinn, weil
man einen Besucher dadurch zwingt, sich auf einen existierenden Kommentar
zu beziehen.
Wenn Sie Pflichtfelder definieren, müssen Sie Ihre Besucher auch darüber
in Kenntnis setzen. Schlagen Sie dazu im Kapitel \ref{commenttemplates} auf
Seite \pageref{commenttemplates} nach, wie Sie Anpassungen am Kommentarformular
vornehmen können.
Empfohlene Einstellung: \emph{comment}
\index{[email protected]}%
\index{Plugins!Spamschutz!Block bad IPs via HTaccess?}%
\ospitem{\menu{Block bad IPs via HTaccess?}}
Eine sehr experimentelle Option stellt \menu{Block bad IPs via HTaccess}
dar. Innerhalb einer \cmd{.htaccess}-Datei können Sie bei
Apache-Webservern Regeln definieren, um Besucher mit einer bestimmten
IP-Adresse abzulehnen.
Diese Besucher können dann das gesamte Blog nicht mehr aufrufen und
belasten dabei glücklicherweise auch das System nur noch minimal -- denn
Serendipity kommt selbst gar nicht mehr zum Zuge, um den Aufruf dieses
Besuchers zu bearbeiten, da der Webserver ihn bereits zuvor abgewiesen
hat.
Derartige Verbote können mittels des Befehls \cmd{Deny From
\cmdvar{IP"=Adres\-se}} vorgenommen werden. Dieses Kommando stellt eine
Blacklist von ein oder mehreren IP-Adressen dar und könnte auch manuell
in der \cmd{.htaccess}-Datei eingestellt werden.
Das Spamschutz-Plugin ermöglicht jedoch eine interessantere Art der
Einbindung. Jedesmal, wenn beim Prüfen eines Kommentars dieser
abgewiesen wird, merkt sich das Spamblock-Plugin die IP der Person, die
diesen Kommentar hinterlassen hat. So entsteht eine Liste, mit der
man herausfinden kann, von welchen IPs in letzter Zeit Spam geschickt
wurde. Sobald dieser Tabelle eine IP hinzugefügt wird, aktualisiert das
Plugin die \cmd{.htaccess}-Datei und sperrt den Zugriff für alle IPs, die
in den letzten zwei Tagen dort eingetragen worden sind.
Daher kann ein Besucher mit einer "`verdächtigen"' IP-Adresse frü\-hes\-tens nach zwei
Tagen erneut probieren, einen Kommentar zu hinterlassen.
Der große Vorteil dieser Sperrungsart ist, dass Spammern so schnell die
Server-Ressourcen entzogen werden können. Die Nachteile sind jedoch, dass
zum einen nur Apache-Webserver mit dieser Option arbeiten können und man
zum anderen möglicherweise einen zu großen Benutzerkreis blockiert (siehe
Anmerkungen zur Option \menu{IP-Block Intervall} auf Seite
\pageref{ipblock}). Benutzen Sie die Option daher nur, wenn Sie wissen,
was sie bewirkt.
Empfohlene Einstellung: \emph{Nein}
\index{Wartung!Logfiles}%
\index{Plugins!Spamschutz!Protokollierung von fehlgeschlagenen Kommentaren}%
\ospitem{\menu{Protokollierung von fehlgeschlagenen Kommentaren}}
Wenn ein Kommentar oder Trackback moderiert oder abgewiesen
wird, bemerken Sie dies als Redakteur möglicherweise gar nicht. Daher
ermöglicht das Spamschutz-Plugin, solche Meldungen entweder in der
Datenbank oder in einer Datei zu speichern.
Dieses Protokoll können Sie dann von Zeit zu Zeit prüfen, um
herauszufinden, ob Ihre Anti-Spam-Einstellungen in der Gesamtheit noch
Wirkung haben.
Wenn Sie das Protokoll in einer \menu{Einfachen Datei} speichern, müssen
Sie einen Speicherplatz angeben. Sie können diese Datei dann von Zeit zu
Zeit herunterladen und auf dem Server wieder löschen, damit sie
nicht zu groß wird.
\index{Datenbank-Tabellen!serendipity\_spamblocklog}%
Für die Auswertung von Protokollen ist die Speicherung in einer \menu{Datenbank} sicher
empfehlenswerter. Die Datenbanktabelle \cmd{serendipi\-ty\_spamblocklog} können Sie
mit einem Programm wie \emph{phpMyAdmin} komfortabel ansehen und nach bestimmten
Kriterien filtern.\osplinebreak{} Fortgeschrittene Benutzer können die Datenbanktabelle nutzen,
um sich kleine Scripte zu schreiben, die täglich oder wöchentlich Statusberichte
per E-Mail verschicken oder auch im Blog anzeigen. Auch diese Datenbanktabelle
sollten Sie von Zeit zu Zeit leeren, um nicht zu viele alte Daten vorzuhalten.
\index{Plugins!Spamschutz!Speicherplatz für das Logfile}%
\ospitem{\menu{Speicherplatz für das Logfile}}
Wenn Sie die Protokollierung in eine einfache Datei aktiviert haben,
müssen Sie hier den vollständigen Dateisystem-Pfad auf dem Server
eintragen, wo das Logfile gespeichert werden soll. Der Webserver muss
Schreibrechte zu diesem Verzeichnis haben, daher können Sie z.\,B.\ auch Ihr
\cmd{uploads}-Verzeichnis dafür verwenden.
\end{ospdescription}
Unterhalb der Konfigurationsoptionen bindet das Plugin noch eine kleine
Vorschaugrafik der Captchas ein. Dort können Sie sehen, wie ein Captcha
für einen Besucher aussieht, und gegebenenfalls Änderungen der
Hintergrundfarbe vornehmen.
\label{Captcha-anpassen}%
\index{Captchas!Grafiken anpassen}%
\index{gdlib}%
Die Art der Captcha-Grafiken richtet sich danach, ob Ihr Webserver
das PHP-Modul \emph{gdlib} unterstützt. Ohne \emph{gdlib} gibt das
Spamblock-Plugin PNG-Grafiken im Verzeichnis
\cmd{plugins/serendipity\_event\_""spamblock} direkt aus. Für jeden
Buchstaben gibt es eine eigene \cmd{captcha\_""\cmdvar{zeichen}.png}-Da\-tei,
die Sie mit einem Bildbearbeitungsprogramm anpassen können.
\index{Schriftarten}%
\index{TTF}%
Wenn \emph{gdlib} vorhanden ist, gilt:
Die verwendeten Schriftarten der Captchas können Sie nur mit
etwas Aufwand verändern. Das Plugin kann mit beliebigen TTF-Schriftdateien, wie
sie Windows mitliefert, umgehen. Diese Dateien liegen im Verzeichnis
\cmd{plugins/serendipity\_event\_spamblock} und sind standardmäßig auf
die vier Schriftarten Vera, VeraSE, Chumbly und 36daysago beschränkt. Das
Auswahlkriterium der Schriftarten war, dass diese möglichst nicht
maschinenlesbar sein sollen. Wenn Sie lieber eine eigene, besser lesbare
Schriftart benutzen wollen, können Sie die vorhandenen TTF-Dateien
mit anderen ersetzen und müssen dabei die Dateien lediglich umbenennen.
Das Plugin wählt zufällig eine der vier verfügbaren Schriftarten aus.
Wenn Sie mehr als vier Schriftdateien benutzen wollen, müssen Sie die
Plugin-Datei
\cmd{plugins/serendipity\_event\_spamblock/serendipity\_event\_\osplinebreak{}spamblock.php}
öffnen und bearbeiten. Suchen Sie nach der Zeile
\begin{ospcode}
\$fontfiles = array('Vera.ttf', 'VeraSe.ttf', 'chumbly.ttf',
'36daysago.ttf');
\end{ospcode}
Dort müssen Sie (jeweils in Anführungszeichen) den Namen der Schriftdatei
kommasepariert eintragen.
Etwas oberhalb dieser Codezeile findet sich auch die Angabe, wie groß die
Captcha-Grafik ist:
\begin{ospcode}
\$width = 120;
\$height = 40;
\end{ospcode}
Mit den beiden Zahlen \cmd{120} (Breite) und \cmd{40} (Höhe) können
Sie die Bildgröße anpassen.
Die Schriftgröße müssen Sie über eine weitere Variable anpassen, die
ebenfalls in der Nähe der obigen Stellen erscheint:
\begin{ospcode}
\$size = mt_rand(15, 21);
\end{ospcode}
Diese Zeile bewirkt, dass das Plugin zufällig eine Schriftgröße zwischen
15 und 21 für jeden einzelnen Buchstaben benutzt. Sie können diese beiden
Zahlen auf den gewünschten Wert erhöhen (z.\,B.\ 21 und 26), um größere
Schriften anzuzeigen.
Das Plugin verzichtet bei der Ausgabe der Schriften auf einige Zeichen,
die häufig missverständlich aussehen. Die Zahlen 1, 5, 6 und 8 sowie die
Buchstaben I, O und S werden daher ausgelassen. Wenn Sie weitere
Buchstaben ausschließen wollen, können Sie auch diese in der
Spamschutz-Datei ändern. Suchen Sie dafür folgende Code-Stelle und passen
Sie sie an:
\input{snippets/spamblock}
\index{Plugins!Browser-Kompatibilität}%
\index{Plugins!serendipity\_event\_browsercompatibility}%
\subsection{Browser-Kompatibilität\newline
serendipity\_event\_browsercompatibility}
\index{Fehler!Grafiken sind gestaucht/gestreckt}%
\index{Transparente Grafiken}%
\index{PNG-Transparent}%
Eines der simpelsten Ereignis-Plugins ist das
Plugin namens \emph{Browser"=Kompatibilität}. Es wurde damals erstellt, um ein
gravierendes Problem des Microsoft Internet Explorer 6 zu beheben. Dieser
Browser konnte standardmäßig keine Grafiken mit mehrstufiger
transparenter Hintergrundfarbe anzeigen, während alle anderen am Markt
verfügbaren Browser damit kein Problem hatten.
Leider war (und ist) dieser Browser stark verbreitet, aber Serendipity
sollte dennoch in der Lage sein, Icons mit transparentem Hintergrund in
der Oberfläche anzuzeigen. So sind beispielsweise die Grafiken des Uhr"=Symbols
oder des Hammers transparente Grafiken, die bei jeder
Hintergrundfarbe eingebunden werden können.
Mit Hilfe dieses Plugins konnte eine einfache Regel in die Ausgabe von
Serendipity aufgenommen werden, so dass die Grafiken dargestellt werden
können. Ursprünglich war geplant, auch weitere Browser-Unterschiede mit
diesem Plugin auszubügeln. Dies war jedoch seither nie wieder
nötig.
Wenn in Zukunft Version 7 des Internet Explorers noch größere Verbreitung
hat, wird dieses Plugin also nicht mehr erforderlich sein. Auch
heutzutage ist es eigentlich nur dann notwendig, wenn Sie die
Administrationsoberfläche mit Internet Explorer 6 ohne merkwürdige
Hintergrundfarben einsetzen wollen.
Einen gravierenden Nachteil hat dieses Plugin jedoch. Das Plugin sorgt
dafür, dass der Browser eine PNG-Grafik intern als Hintergrundbild
interpretiert und eine unsichtbare GIF-Grafikdatei darüberlegt. Das
klappt nur dann einwandfrei, wenn ein Bild im HTML-Code so eingebunden
ist, dass die \emph{width}- und \emph{height}-Angaben des
\emph{<img>}-Tags vorhanden sind. Fehlt diese Angabe, wird die PNG-Grafik
womöglich gestaucht oder in die Länge gestreckt. Wenn Sie also
später PNG-Grafiken in Ihrem Blog hinzufügen, achten Sie immer darauf,
dass die width/height-Angaben vorhanden sind. Oder benutzen Sie
alternativ das GIF- oder JPEG-Grafikformat, wenn die Transparenz nicht
wichtig ist. Eine weitere Möglichkeit bestünde natürlich darin, das
Plugin \emph{Browser-Kompatibilität} zu entfernen und darüber hinwegzusehen,
dass Besucher mit dem alten Internet Explorer 6 möglicherweise
eine pinke Hintergrundfarbe statt Transparenz sehen.
Das Plugin besitzt keine Konfigurationsoptionen.
\index{Plugins!Textformatierung: Serendipity}%