Kampf dem Spam: Spamfreies Gästebuch
- MySQL wird ohnehin benötigt
- Die Datenbank aufbohren
- Zusätzliche hilfreiche Listen
- Die Tabelle für die IP-Adressen
- Die Tabelle für die Mailadressen
- Die Tabelle für gesperrte IP-Adressen
- Die Tabelle für die Flood Protection
- Optional: Die Tabelle für die Bestätigungsmail
- Tips für die Arbeit mit den neuen Tabellen
MySQL wird ohnehin benötigt
Wer ein Gästebuch betreibt, muß die Daten logischerweise irgendwo lassen. Dazu
bieten sich i. d. R. Dateien oder
Datenbanken an.
Das Problem mit einer Datei ist, daß Sie selbst die Struktur Ihrer Dateien
definieren sowie sämtliche Routinen zur Bearbeitung der Daten schreiben müssen.
Eine Datenbank ist hier wesentlich komfortabler, da der Prozeß, der die
Datenbank managt, besagte Routinen bereits enthält und sie ihm lediglich
mitteilen müssen, was er tun soll. Eine Datei hätte jedoch den Vorteil, daß Sie
die Zugriffe auf das Gästebuch so gestalten können, wie Sie sie brauchen, doch
dazu ist ein gewisser Kenntnisstand für die von Ihnen verwendete
Programmiersprache vonnöten. Dies gestaltet sich bei Zuhilfenahme eines
Datenbankmanagers einfacher, da Sie lediglich wissen müssen, wie Sie ihm
mitteilen können, was er zu tun hat. Den Rest erledigt der Manager für Sie.
Als Speichermedium für Ihr Gästebuch können Sie letztlich jede beliebige
Datenbank verwenden, was höchstens vom verwendeten Betriebssystem abhängt, und
letztlich unterscheiden sie sich nur in Feinheiten.
Der Einfachheit halber wird hier angenommen, daß MySQL im Gästebuch Anwendung
findet. Sollten Sie eine andere Datenbank verwenden, so ist es ggf.
erforderlich, einige der verwendeten SQL-Befehle an die Erfordernisse der von
Ihnen verwendeten Datenbank anzupassen.
Die Datenbank aufbohren
Sie haben sicherlich bereits die notwendigen Tabellen angelegt, die die
einzelnen Einträge Ihres Gästebuchs aufnehmen. Darunter fallen i. d. R. solche
Daten wie Zeitpunkt der Erstellung des Posts, ein Name (wahlweise ein Nick-
oder ein realer Name), der URL einer Homepage, der Titel und der eigentliche
Inhalt. Zusätzlich kann zu jedem Post auch eine E-Mail-Adresse gespeichert
werden. Dies sind Daten, die Sie auf jeden Fall speichern sollten, wenn Sie ein
brauchbares Gästebuch einbauen wollen.
Darüber hinaus kann es auch eine Tabelle geben, die jedoch nur einen einzigen
Eintrag enthält und in der sämtliche Optionen, mit der Sie die Funktionen des
Gästebuchs steuern können, vermerkt sind. Damit ist es z. B. auf Knopfdruck
möglich, die Kommentarfunktion abzuschalten,
beispielsweise wenn Sie feststellen, daß die Anzahl an nutzlosen Einträgen
drastisch zunimmt. So haben Sie die Möglichkeit, Ihr Gästebuch zu entrümpeln,
ohne daß allenthalben neuer Mist auftaucht, und sowie Sie das Problem behoben
haben, können Sie die Kommentarfunktion problemlos wieder freischalten, ohne
daß Sie irgendwas an Ihrem Skript stricken müßten. Dies erspart Ihnen erstens
Zeit und vermeidet zweitens Fehler.
Um Ihr Gästebuch für die Spambekämpfung vorzubereiten, ist es jedoch erforderlich, daß Sie einige weitere Tabellen anlegen, in denen Sie sowohl die IP- als auch die E-Mail-Adresse eines Posters ablegen. Auf diesem Wege können Sie einen Poster elegant sperren, wenn er versucht irgendwelchen Spam zu veröffentlichen. Dabei können Sie entscheiden, wie Sie dabei vorgehen, also ob Sie dem betreffenden Schreiberling eine zeitweilige oder auch gleich eine permanente Sperre verpassen wollen.
nach obenZusätzliche hilfreiche Listen
Darüber hinaus bieten sich weitere Tabellen an, in denen vermerkt wird, wer wie
oft in welcher Zeit versucht hat etwas zu veröffentlichen und im Bedarfsfalle
weitere Posts zu unterbinden, wenn Sie der Meinung sind, daß es zuviel wird.
Auch den Versand von Bestätigungsmails
können Sie so managen, da zu jeder versandten Mail ein Eintrag generiert wird,
und erst wenn ein in der Mail enthaltener Verweis angeklickt wird, wird die
zugehörige Nachricht veröffentlicht.
Die Option mit der Bestätigungsmail können Sie jedoch genauso gut mit Ihrer
IP- respektive Mailadressenliste kombinieren, so daß Sie jemanden, der den
Verweis in der E-Mail angeklickt hat, für eine bestimmte Zeit freigeben, so daß
er keine weiteren Bestätigungsmails erhält, wenn er etwas postet, sondern daß
seine Posts ohne Umweg übernommen werden, wenn er die übrigen Überprüfungen
erfolgreich passiert hat. Genauso können Sie dem Inhaber einer E-Mail-Adresse
es zusätzlich erlauben, diese für eine bestimmte Zeit für die weitere Benutzung
zu sperren, wenn irgendwer diese mißbräuchlich einsetzen will. In diesem Fall
kann die betroffene Adresse eben nicht mehr für das Verfassen von Nachrichten
verwendet werden, sondern alle Versuche, diese dabei einzusetzen, werden sofort
abgewiesen.
Um die zusätzlichen Tabellen anzulegen, verbinden Sie sich zunächst einmal mit Ihrer Datenbank. Sie können dazu das Steuerprogramm für die Kommandozeile verwenden, oder Sie nutzen ein GUI für den Zugriff. Selbst Officeprogramme wie LibreOffice bieten eine Möglichkeit für den Zugriff auf eine Datenbank.
nach obenDie Tabelle für die IP-Adressen
Diese Tabelle registriert die IP-Adressen derjenigen Leute, die etwas in Ihr
Gästebuch schreiben wollen, und speichert deren Status. So können Sie
festhalten, ob das Verfassen von Einträgen von einer bestimmten IP-Adresse aus
gestattet ist oder nicht.
Diese Tabelle legen Sie wie folgt an:
Da es wenig zielführend ist, alte Daten vorzuhalten, wird der Zeitpunkt
festgehalten, zu dem ein Zugriff von einer bestimmten IP-Adresse erfolgt ist,
sowie die Zeitspanne in Tagen, nach der der betreffende Eintrag als abgelaufen
gilt. Dadurch können Sie solche Einträge aus der Datenbank entfernen, wenn
deren Lebensdauer abgelaufen ist.
Dies verhindert, daß IP-Adressen zu lange gesperrt werden, da viele von ihnen
dynamisch zugewiesen werden, wenn Internetnutzer online kommen, und wieder
freigegeben werden, sowie die betreffenden Leute offline gehen. Dadurch ändern
sich Zuweisungen, und eine IP-Adresse, die zuvor beispielsweise einem Spammer
zugewiesen war oder hinter der sich ein mit einem Bot infizierter Rechner
befunden hatte, könnte beim nächsten Mal einem normalen Nutzer zugewiesen
werden, der nichts damit zu tun hat. Würden die alten Einträge nicht gelöscht,
so würde der Bereich an IP-Adressen, der Zugang zum Gästebuch hat, immer weiter
eingeschränkt, bis es über kurz oder lang unbenutzbar wird.
Das Statusfeld wiederum können Sie nutzen, um IP-Adressen von Nutzern, die
sich als legitim haben ausweisen können, freizugeben, so daß sie nicht mehr von
einigen der Sicherheitsvorkehrungen Ihres Gästebuchs betroffen werden. So
können Sie bei entsprechend markierten IP-Adressen beispielsweise auf einige
Maßnahmen verzichten, die bestätigen sollen, daß der betreffende Nutzer kein
Bot ist.
Den Spamscore wiederum benötigen Sie, um festzuhalten, ob Sie es mit Spam, der
von besagter IP-Adresse ausgeht, zu tun haben oder nicht. Dafür sind jedoch
andere Maßnahmen vonnöten, deren Ergebnis Sie in diesem Feld ganz einfach
festhalten können, um passende Maßnahmen zu ergreifen, wenn dieser Wert zu groß
wird.
Die Tabelle für die Mailadressen
Hierin werden die E-Mail-Adressen vermerkt, die angegeben werden, wenn jemand
einen Eintrag verfaßt. Da beliebige Mailadressen angegeben werden können, ist
es möglich, daß jemand eine Mailadresse angibt, die entweder gar nicht
existiert oder aber jemandem anderes gehört. So können Sie festlegen, ob Sie
das Verfassen von Mails von bestimmten Adressen erlauben wollen oder nicht.
Diese Tabelle legen Sie wie folgt an:
Für ein sinnvolles Vorgehen werden zwei Datenfelder vorgehalten, die zwei
Zeitpunkte festhalten: Den Zeitpunkt, seit dem der Eintrag bereits existiert
und den Zeitpunkt, an dem die E-Mail-Adresse letztmalig gesehen worden ist.
Das zweite Feld wird dazu verwendet zu bestimmen, ab wann eine E-Mail-Adresse
als veraltet betrachtet und gelöscht werden soll. Dies verhindert, daß sich
alte Datensätze in der Datenbank ansammeln.
Das erste Feld hingegen kann dazu herangezogen werden, die Zeit, die ein
Datensatz vorgehalten wird, anzupassen. So kann ein Datensatz, der wiederholt
Aktivität registriert, länger vorgehalten werden, z. B. um den Mißbrauch von
Mailadressen zu unterbinden und die Blockade länger aufrecht zu erhalten, aber
auch um im Falle eines positiven Eintrags dem Benutzer ein längeres Zeitfenster
zu geben, während dessen er ohne zusätzliche Überprüfung Einträge verfassen
kann.
Die Verfallzeit wird ebenfalls benötigt, um die Löschung alter Datensätze
steuern zu können. Das verhindert, daß alte Datensätze bestehen bleiben, die zu
fehlerhaften Resultaten führen könnten. Dadurch wird auch dem Phänomen Rechnung
getragen, daß vormals nicht existierende Mailadressen belegt und bisher
existierende Adressen wieder freigegeben werden.
Zusätzlich wird jede Mailadresse mit einem Zustand belegt, der angibt, ob sie
in einem Gästebucheintrag Verwendung finden darf oder nicht. Dies ermöglicht
darüber hinaus die Einrichtung einer Möglichkeit, eine Mailadresse auf
Gültigkeit zu überprüfen.
Auch hier wiederum ist die Möglichkeit gegeben, einen Spamscore einzutragen, um
das Auftreten von möglichem Spam festzuhalten und ggf. angemessen reagieren zu
können. Die Überprüfung erfolgt dabei mit einigen anderen Maßnahmen, deren
Ergebnis Sie hier jedoch ganz einfach festhalten können.
Die Tabelle für gesperrte IP-Adressen
Zu Adressen, die auf dieser Liste landen, gibt es nur eines zu sagen: Sie
wollen keinen Kontakt von dort zulassen. Dafür gibt es mehrere Gründe,
beispielsweise wiederholte unerwünschte Zugriffe auf Ihr Gästebuch oder
Vorgänge, die Sie anderweitig nicht tolerieren wollen wie Brute-Force-Angriffe
auf etwaige Loginformulare oder penetrantes Wiederholen von Versuchen, etwas in
Ihr Gästebuch zu schreiben – aber auch unerwünschte Zugriffsversuche auf andere
Dienste wie SSH, die Sie als Kriterium heranziehen können, um zu entscheiden,
ob Sie Zugriffe von bestimmten IP-Adressen aus zulassen wollen oder nicht.
Diese Tabelle legen Sie wie folgt an:
Zunächst einmal benötigen Sie die IP-Adressen, die Sie sperren wollen. Diese
Adressen sollen von Ihrem Gästebuch nicht berücksichtigt werden. Allerdings
kann eine Vielzahl solcher Zugriffe stattfinden, so daß der Datenbestand in
dieser Tabelle sehr schnell sehr groß werden kann.
Daher können Sie zusätzlich eine Netzmaske in Form einer Zahl zwischen 0 und 32
angeben, um mit einem einzigen Eintrag ein komplettes Netzsegment auf einmal zu
sperren. Dies reduziert den Datenbestand in dieser Tabelle, zumal unerwünschte
Zugriffe oftmals aus klar umrissenen Netzwerksegmenten stammen. In diesem Fall
können Sie so mehrere Quellen auf einen Schlag abstellen.
Mit dem dritten Feld können Sie das Verhalten der Sperreinträge steuern. So
können Sie beispielsweise angeben, welche Einträge aktiv sind und welche nicht,
und so die Zugriffsbeschränkungen im Bedarfsfalle steuern. Weiterhin können Sie
festlegen, ob bestimmte Einträge nach einer gewissen Zeit ablaufen oder nicht,
so daß Sie so auf vorübergehende Probleme angemessen reagieren zu können, aber
anhaltenden Problemen dauerhaft einen Riegel vorschieben können. Außerdem
können Sie angeben, daß Sie zwar die Anzeige des Gästebuchs erlauben, aber
dafür das Formular zum Verfassen eines Eintrages nicht bereitgestellt wird. So
können Sie bestimmten Adreßbereichen zumindest eingeschränkten Zugriff auf das
Gästebuch gewähren.
Normalerweise werden Zugriffe für Adressen, die hier gelistet sind, komplett
unterbunden, doch je nach Schwere werden die Einträge in dieser Tabelle früher
oder später automatisch gelöscht. Dazu wird der Zeitpunkt, an dem der
betreffende Eintrag einen Treffer ausgelöst hat, zusammen mit einer Abschätzung
der Spamproblematik festgehalten. Je problematischer das Spamaufkommen, umso
später läuft der betreffende Eintrag ab.
Dabei sollte jedoch nicht nur das Gästebuch als einziges Kriterium herangezogen
werden, sondern auch andere Quellen, z. B. Einbruchsversuche über SSH,
bestimmte ungültige Zugriffsversuche auf Webseiten, insbesondere CGI-Skripte
und PHP-Dateien.
Dadurch können Sie sowohl automatisiert als auch per Hand bestimmte
Adreßbereiche sperren. Diese lassen sich so direkt beim Aufruf blocken, so daß
Sie keine weiteren Überprüfungen vornehmen müssen. Dazu ist es lediglich
erforderlich, einige Tests an verschiedener Stelle zu implementieren, die nach
verdächtigen Aktivitäten suchen.
Sollte es jedoch vorkommen, daß die Zugriffe Ausmaße annehmen, die den Server
bedrohen könnten, so ist es empfehlenswert, Zugriffe aus diesen Adreßbereichen
stattdessen durch die Firewall
abblocken zu lassen.
Die Tabelle für die Flood Protection
Diese erlaubt es festzustellen, ob von einer bestimmten IP-Adresse aus zuviele
Zugriffe innerhalb einer bestimmten Zeitspanne erfolgen oder ob eine bestimmte
E-Mail-Adresse mehrmals in schneller Folge verwendet wird. Normalerweise gibt
es keinen Grund, von einer bestimmten IP-Adresse aus in schneller Folge zu
versuchen irgendetwas in das Gästebuch einzutragen respektive eine bestimmte
E-Mail-Adresse wiederholt in kurzer Zeit zu verwenden. Doch dazu ist es
zunächst einmal erforderlich, diese Informationen überhaupt festzuhalten.
Diese Tabelle legen Sie wie folgt an:
Im ersten Feld wird die IP-Adresse abgelegt, von der aus ein Zugriff erfolgte,
und im zweiten Feld können Sie die E-Mail-Adresse eintragen, die dabei
verwendet worden ist. Das dritte Feld legt fest, worauf sich der Eintrag
bezieht, so daß Sie IP- und Mailadressen in einer Tabelle ablegen können, dabei
aber die Möglichkeit haben, beides getrennt voneinander abzufragen.
Im vierten Feld wiederum wird festgehalten, wann der betreffende Eintrag
angelegt worden ist. Somit können für dieselbe IP- oder Mailadresse mehrere
Einträge angelegt werden, wenn mehrere Zugriffe erfolgen, so daß man anhand der
Anzahl Einträge feststellen kann, wieviele Zugriffe erfolgt sind. Dies ließe
sich zwar auch mit einem Zähler realisieren, doch dann müßte man die Zeitpunkte
der einzelnen Zugriffe ebenfalls festhalten und regelmäßig anpassen. Dies
erfordert jedoch einen zusätzlichen Verwaltungsaufwand, der sich vermeiden
läßt, wenn man jeden Zugriff einzeln protokolliert. Zudem lassen sich
abgelaufene Einträge auf diesem Wege ganz einfach aus der Liste löschen, ohne
erst umständlich die Liste mit den Zeiten manipulieren zu müssen.
Optional: Die Tabelle für die Bestätigungsmail
Wenn Sie eine weitere Ebene des Schutzes einziehen möchten, dann können Sie
jetzt testen, ob eine gültige E-Mail-Adresse beim Verfassen einer Nachricht
eingegeben worden ist. Da Spammer den Absender einer E-Mail gerne fälschen,
können Sie jene Versuche, die Ihre Spamfilter umgehen, auf diese Art und Weise
abfangen. Existiert die Adresse nicht, so wird ohnehin nichts passieren, und
die Nachricht wird nach Ablauf einer voreingestellten Zeit verworfen. Gleiches
gilt, wenn die E-Mail-Adresse zwar existiert, aber der Empfänger nicht darauf
reagiert.
Sie können natürlich auch eine weitere Option bereitstellen, die es dem
Besitzer einer Mailadresse erlaubt, diese für eine bestimmte Frist vor weiterer
Verwendung im Gästebuch zu schützen. Wird diese Option gewählt, so wird eine
explizite Sperre gesetzt, und bevor die Sperrfrist abläuft, werden alle
Versuche, einen Eintrag unter Angabe dieser Mailadresse als Absender zu
verfassen, kommentarlos abgelehnt.
Damit eine Nachricht veröffentlicht wird, ist es erforderlich, daß der
Empfänger der Bestätigungsmail diesen Vorgang explizit bestätigt. Hierzu
stellen Sie in der Mail einen Verweis bereit, der auf ein Skript weist, das die
Überprüfung vornimmt. Dies kann dann entweder direkt über einen Parameter, der
zusammen mit dem Aufruf übergeben wird, geschehen, oder mittels einer
Eingabemaske, die erscheint, wenn entweder ein falscher oder überhaupt kein
Code übergeben worden ist.
Nach erfolgreicher Überprüfung kann dann die gewünschte Operation ausgeführt
werden.
Die zugehörige Tabelle erstellen Sie wie folgt:
Hier werden auf jeden Fall sowohl die zu überprüfende E-Mail-Adresse als auch
ein Code gespeichert, damit die Überprüfung vorgenommen werden kann. Zudem wird
die IP-Adresse gespeichert, von der aus der Eintrag vorgenommen wird, um im
Bedarfsfall nachvollziehen zu können, was wann wie passiert ist. Zudem wird die
laufende Nummer der Nachricht gespeichert, die es zu veröffentlichen gilt, so
daß sie bei erfolgreicher Überprüfung freigeschaltet – oder bei einem aktiven
Widerspruch verworfen – werden kann. Das Verfallsdatum gibt an, bis zu welchem
Zeitpunkt die Überprüfung erfolgen kann. Mit Ablauf dieser Frist kann die
Nachricht, die überprüft werden soll, dann gelöscht werden.
Auch ist ein optionales Feld eingefügt, das das Ziel der Nachricht angibt, wenn
man mehrere Quellen für Nachrichten hat außer einem Gästebuch, z. B. ein Forum.
Diese Überprüfung bietet zwei Vorteile: Erstens muß eine Nachricht explizit freigeschaltet werden, damit sie überhaupt angezeigt wird. Dies verhindert auf einfache Art und Weise, daß Einträge in fremdem Namen verfaßt werden. Zweitens kann man, wenn die Überprüfung fehlschlägt, z. B. weil die Bestätigungsmail ein Rückläufer ist, die fragliche Nachricht sofort löschen. Dazu ist es jedoch erforderlich, das Mailsystem so einzurichten, daß etwaige Fehlermeldungen aufgefangen und an ein Analyseskript weitergegeben werden, welches die fraglichen Nachrichten dann automatisch austrägt.
nach obenTips für die Arbeit mit den neuen Tabellen
Für sich genommen, sind diese Tabellen nicht mehr als zusätzliche Datensätze. Damit sie einen Effekt haben können, ist es erforderlich, daß Sie das Skript für das Gästebuch so anpassen, daß es auf diese Tabellen zugreift und passend auf die darin enthaltenen Daten reagiert. Für einen optimalen Effekt bietet sich die nachstehende Reihenfolge an:
- Prüfung auf Sperre der IP-Adresse
- Überprüfung der IP-Adresse
- Plausibilitätsprüfung der Mailadresse
- Überprüfung der anderen eingegebenen Daten
- Flood Protection
- Bestätigungsmail versenden
Diese Reihenfolge ergibt sich bereits daraus, was wie zusammenspielt. Die einfachste Überprüfung ist natürlich, ob eine bestimmte IP-Adresse explizit gesperrt worden ist, also nicht weiter beachtet werden braucht. Da diese Liste i. d. R. statisch ist, können Sie alle hier gelisteten Adressen sofort abweisen, ohne irgendeine weitere Analyse auszuführen. Dies erledigen Sie mit folgendem Codeabschnitt:
Steht die IP-Adresse auf der Sperrliste, so wird hier die Variable $has_ban auf
1 gesetzt, woraufhin Sie das Skript geeignet reagieren lassen können, z. B.
indem Sie dem fraglichen Nutzer mitteilen, daß er keine Zugangsberechtigung zum
Gästebuch hat – oder alternativ ihm zwar das Gästebuch anzeigen lassen, aber
dafür das Eingabefeld ausblenden.
Steht die fragliche IP-Adresse jedoch nicht auf der Sperrliste, so ist als
nächstes eine Prüfung notwendig, ob für sie irgendwelche Vorfälle verzeichnet
sind oder nicht oder im Gegenteil sogar als berechtigt bestätigt worden ist.
Doch egal wie die aktuelle Situation jetzt aussieht, bei einem Treffer wird die
Verfallzeit des betreffenden Eintrags zurückgesetzt und fängt von vorne an zu
laufen.
Diese Überprüfung bewerkstelligen Sie mit folgendem Codefragment:
Die Mailadresse können Sie logischerweise auch überprüfen. Insbesondere sind
hier logische Brüche für uns von Interesse, z. B. eine nicht vorhandene Domain.
In diesem Fall können Sie den Versuch, etwas in Ihr Gästbuch eintragen zu
lassen, gleich abweisen.
Die Überprüfung der Mailadresse erreichen Sie mit folgender Funktion:
Diese vollführt zunächst einmal eine Überprüfung, ob das Format der Adresse
überhaupt gültig ist, und extrahiert in dem Zuge den Empfänger sowie Subdomain
und TLD. Diese TLD wird anschließend einer Überprüfung unterzogen, ob sie
überhaupt gültig ist (geschieht in einer externen Funktion), und danach wird
versucht den kompletten Domainnamen aufzulösen.
Wird bei irgendeiner der Überprüfung ein Fehler festgestellt (ungültiges Format
der Mailadresse, nichtexistente TLD, unbekannte Domain), so wird dies über den
Rückgabewert signalisiert, so daß der Aufrufer geeignete Maßnahmen ergreifen
kann. Eine solche Auswertung könnte dann wie folgt aussehen:
Dieses Codefragment ruft zunächst einmal die bereits vorgestellte Funktion zur
Überprüfung der Mailadresse auf Gültigkeit auf, und je nach Ergebnis wird die
passende Aktion eingeleitet.
Wie Sie erkennen können, wird hier bereits Gebrauch von der Liste der
IP-Adressen gemacht und etwaige Anomalien in dieser vermerkt. So können Sie
ganz einfach auf Probleme reagieren.
Die nächste Tabelle, die Sie jetzt verwenden sollten, ist für die sog.
Flood Protection zuständig. Diese
verhindert, daß jemand automatisiert Unmengen von Einträgen binnen kurzer Zeit
verfassen kann.
Das folgende Codefragment übernimmt die Flood Protection:
Diese Tabelle ist so angelegt, daß für jeden Zugriff ein Eintrag erstellt wird.
So kann ganz einfach nachgesehen werden, wieviele Zugriffe bereits erfolgt
sind. Dazu braucht man für eine gegebene IP-Adresse nur die angelegten Einträge
auszulesen und zu zählen. Finden sich dabei mehr Einträge an als erlaubt, so
sollte das Skript folgende Zugriffe abweisen, bis dieser Wert wieder unter die
eingestellte Schwelle sinkt.
Auf diese Art und Weise werden zwar mehr Datensätze angelegt, als wenn man nur
einen Datensatz pro IP-Adresse anlegt, in dem dann die Zugriffszeiten
eingetragen werden, doch wird die Bearbeitung der Liste so wesentlich
einfacher, da man keinen Datensatz umständlich manipulieren muß, sondern
etwaige veraltete Einträge lassen sich ganz einfach löschen. Dies reduziert die
für die Bearbeitung der Liste notwendige Rechenzeit signifikant.