GeneWeb - Zugriffsbeschränkungen |
Mit GeneWeb kannst du:
Wenn deine Datenbank in eine Website eingebunden ist, betreffen dich nur die ersten drei Punkte.
Die letzten beiden Punkte (globaler Schutz) funktionieren nur im Servermodus. Im CGI-Modus müssen die Methoden des jeweils verwendeten HTTP-Servers eingesetzt werden.
Da sich dieses Kapitel mit Zugriffsbeschränkungen beschäftigt, behandelt der nächste Abschnitt das Thema Roboter und wie man sie davon abhält, Schaden anzurichten. Der letze Abschnitt beschreibt einen noch schärferen Weg der Zugriffsbeschränkung: Die schwarze Liste.
In diesem Fall können nur Personen Online-Änderungen vornehmen, die das korrekte "Wizard"-Kennwort besitzen. Alle anderen können normal navigieren, aber sie bekommen den klickbaren "Ändern"-Text in den Personenseiten nicht angezeigt.
Um ein "Wizard"-Kennwort einzurichten, gehe wie folgt vor:
wizard_passwd=xyzzy
Wenn ein "Wizard"-Kennwort installiert ist, wird auf der Startseite (die mit den Flaggen) ein Bereich für die Kennworteingabe angezeigt.
Nachdem du das Kennwort eingegeben hast, wird die Startseite neu angezeigt. Du kannst erkennen, daß du nun im "Wizard"-Modus bist, denn die Texte "Familie hinzufügen" und "Notizen ändern" werden nun angezeigt.
Beim Navigieren hast du auf den Personenseiten außerdem Zugriff auf die Funktion "Aktualisieren".
Die übrigen Genealogieinformationen (Eltern, Kindern) bleiben immer sichtbar.
Wenn es ein "Freund"-Kennwort gibt, können nur die Personen, die dieses Kennwort (oder das "Wizard"-Kennwort) eingegeben haben, die privaten Informationen sehen.
Um ein "Freund"-Kennwort einzurichten, verfahre wie oben beim "Wizard"-Kennwort beschrieben. Falls du die Datei "meier.gwf" modifzierst, so setze nun die Variable "friend_passwd".
Warnung: Dies funktioniert nur im Servermodus. Wenn du im CGI-Modus arbeitest, mußt Du die Methoden nutzen, die in dem verwendeten HTTP-Server zur Verfügung gestellt werden (dies wird hier nicht beschrieben, da das Vorgehen abhängig vom verwendeten Server ist).
Zunächst mußt du eine Berechtigungsdatei erstellen. Diese Datei enthält Zeilen der Form "benutzer:kennwort". Zum Beispiel:
hugo:ex23zuu martin:2wxuz4
Um diese Berechtigungsdatei zu installieren, gehe wie folgt vor:
auth_file=meier.auth
Beim Zugriff auf diese Datenbank öffnet dein Webbrowser ein Fenster, in dem du einen gültigen Benutzernamen und das zugehörige Kennwort eingeben mußt.
In dem obigen Beispiel mußt Du also "meier" in dem Feld "Benutzerkennung" und "ex23zuu" im "Kennwort"-Feld eingeben oder aber "martin" in dem Feld "Benutzerkennung" und "2wxuz4" im "Kennwort"-Feld.
Wenn dein Eintrag nicht gültig ist, erhältst du keinerlei Zugriff auf die Datenbank.
In diesem Fall sind dann alle Datenbanken nur über die Zugriffsbeschränkung erreichbar. Falls jedoch auf einigen der Datenbanken spezifische globale Zugriffsbeschränkungen installiert sind (siehe vorheriger Abschnitt), so gelten statt der allgemeinen die spezifischen Zugriffsbeschränkungen.
Warnung: Wie auch im vorherigen Abschitt, so funktioniert auch dieses nur im Servermodus, nicht im CGI-Modus.
Du mußt wiederum eine Berechtigungsdatei erzeugen. Dies kann nur durch den Webserver-Administrator erfolgen: wenn deine Datenbank anders untergebracht ist, betrifft dich das nicht.
Die globale Berechtigung wird installiert über die Parameter des "gwd"-Kommandos. Die Option "-auth" muß gefolgt werden vom Namen der Berechtigungsdatei.
Die Anwendung eines Roboters auf eine GeneWeb-Seite ist in der Regel eine schlechte Idee, da hier die Anzahl der Seiten nahezu unendlich sein kann. Falls zum Beispiel der Roboter von einer Personenseite aus beginnt, auf "Verwandtschaft ermitteln" klickt, dann auf die Ehefrau, berechnet er alle Verwandtschaftsbeziehungen zwischen der Person und seiner Gattin, dann kann er auf die Details all dieser Links klicken, und auf alle Personen dazwischen usw.
Oft ist der Gedanke von Leuten, die einen Roboter starten derjenige, daß sie sagen, statt eine Stunde auf einer interessanten Website herumzuklicken, lade ich lieber alle Seiten und lese sie in Ruhe zu Hause, während meine Telefonleitung frei bleibt.
Da GeneWeb aber ein Labyrinth ohne Ausgang ist, führt dies nur zu einem Ergebnis: Es überlädt die Platte der betreffenden Person mit HTML-Seiten.
Aus der Sicht des Betreibers eines Webservers ist es normalerweise nicht wünschenswert, so viele Anfragen so schnell hintereinander zu erhalten, z.B. mehr als zehn pro Sekunde, denn:
Die Seiten, die von GeneWeb generiert werden, sagen (im Übertragungsprotokoll) dem Roboter jedoch eindeutig, daß er mit dem Herunterladen dieser Seiten nicht weitermachen soll.
"Gute" Roboter, z.B. solche, die die Webseiten oder die "ganze Welt" indizieren, respektieren diese Protokollanweisung und bestehen nicht darauf, weiterzumachen. Aber wenn jemand einen Roboter startet, ist es nahezu unmöglich, ihm zu befehlen, die Regeln zu beachten.
Als Maßnahme gegen solche ungezogenen Roboter existiert die Option "-robot_xcl" des gwd. Diese Option wertet die Geschwindigkeit aus, mit der Anfragen vom selben Ort kommen.
Parameter für die Option sind zwei Zahlen, getrennt durch ein Komma. Der erste Wert ist die Anzahl "x" der Zugriffe und der zweite Wert die Zahl "y" von Sekunden. Wenn eine Adresse mehr als "x" Zugriffe innerhalb von "y" Sekunden macht, werden alle zukünftigen Zugriffe von dort mit einer entsprechenden Meldung abgewiesen.
Beispiel:
gwd -robot_xcl 100,150
Wenn mehr als 100 Verbindungen in 150 Sekunden von derselben Adresse erkannt werden, erhält die Ursprungsadresse solange keinen Zugriff mehr, bis der Website-Betreiber sich entscheidet, sie wieder freizugeben.
Um den Zugriff von den gesperrten Adressen wieder freizugeben, muß der Website-Betreiber die Datei "robot" löschen, die im Verzeichnis "cnt" liegt. Dies wird auf jeden Fall im Zugriffslog des gwd protokolliert.
Erzeuge eine Datei namens "gwd.xcl" im gleichen Verzeichnis wie "gwd".
Editiere diese Textdatei und trage darin die auszuschließenden Adressen ein (eine pro Zeile), die du abweisen willst. Du kannst auch einen "*" eintragen, um eine Menge von Zeichen anzugeben. Beispiel:
grosser-böser@wolf.wald provider-*@kein.zugriffDas verbietet den Zugang von Adressen wie "grosser-böser@wolf.wald", "provider-22@kein.zugriff", "provider-xx@kein.zugriff", und so weiter. Wenn du lediglich eine Zeile mit "*" einträgst, wird allen Adressen der Zugriff verweigert (einschließlich deiner eigenen).